스크립트 언어로 프로그램 돌리다 보면
스크립트 파일 수정해 컴파일도 없이도 돌릴 수 있고 심지어는 실행중에도 스크립트 언어를 수정할 수 있는데 일반 사용자가 이렇게 못하게 하려면 어떻함?
일단 생각나는건 파일 마지막 수정 시간이랑 수정 로그 남겨서 이상한 수정 발견하는 식인데 더 좋은 방법없나요?
내가 말을 쥰내 못써서 간단요약하자면
프로그램 사용자가 스크립트파일 함부로 수정 못하게 하고싶다.
스크립트 언어로 프로그램 돌리다 보면
스크립트 파일 수정해 컴파일도 없이도 돌릴 수 있고 심지어는 실행중에도 스크립트 언어를 수정할 수 있는데 일반 사용자가 이렇게 못하게 하려면 어떻함?
일단 생각나는건 파일 마지막 수정 시간이랑 수정 로그 남겨서 이상한 수정 발견하는 식인데 더 좋은 방법없나요?
내가 말을 쥰내 못써서 간단요약하자면
프로그램 사용자가 스크립트파일 함부로 수정 못하게 하고싶다.
수정되는걸 가정해서 큰 기능을 안넣지않나 몰겟네 ㅈㅅ
솔직히 왠만한거는 수정해도 되는데 데이터도 넣어가지고..
리눅스는 아닐 거고, 윈도우즈에서 파일 권한 수정하면 당연히 되지 않을까?
근데 프로그램에서는 변경할 수 있어야 하는데 파일권한 수정하면 전부 안되는거 아니에요?
사용자가 관리자 권한을 가지고 있다면 원칙적으로는 안되겠고(보안 프로그램들이 사용하는 트릭들을 써야 할 듯),
스크립트가 자기자신을 수정한다는 의미인가? 스크립트의 소유권을 스크립트 관리자에게만 주고, 사용자들에게는 실행권한만 주면 될 것 같은데?
혹시 그런 트릭들 이름같은거라도 몇개 알려주시면 감사하겠습니다
이상적으로 말하면 불가능함 애초에 해킹도 아니고... 걍 사용자 행동을 서버에서 다 검증하는 수밖에 없음
뭐 약간 트릭같은걸 쓰면 윈도우는 사용자가 커널단 권한이 없는걸로 알고있는데 안티치트같은 프로그램처럼 커널 모듈로 붙여서 커널 레벨로 돌게하면 아예 불가능하지는 않을듯 근데 결국 그런 행위를 하는 사람을 귀찮게 할 수는 있어도 완전히 막는건 불가능함
제목은 솔직히 어그로고 서버 없는 프로그램이야, 커널 제대로 다룰자신은 없는데 시도 해볼께! 뱅가드니 원신이니 뭐 이런 저런 커널 보안 프로그램 이슈가 많던데
결국 리버싱&후킹으로부터 자유로울 수 있는 프로그램은 없음 뭐 해시를 검사한다 차면 그 검사 코드를 우회해버리면 되는거라서... 퍼포먼스 상관 없으면 Intel CPU 에서만 쓸 수 있는 SGX란 기술이 있긴 한데...
리눅스, 유닉스 쓰셈