프로그래밍/해킹/보안
-
DLL 라이브러리에서 (DLL Export Function) 함수 이름 숨기기프로그래밍/해킹/보안 2023. 4. 5. 21:37
C/C++ 기반으로 DLL을 만들어서 공유 라이브러리로 사용하면 어쩔 수 없이 C 함수를 노출시키는 경우가 흔하다. 하지만 이거는 보안상 아주 위험한 짓이다. 왜냐? 일반적인 DLL 같은 경우는 `Export Table` 정보가 그대로 저장이 되기 때문이다. 솔루션 회사에서 만약 본인들의 DLL 모듈의 Export 함수가 존재할 때, 이 함수의 정보를 외부로 노출 시킨다고 생각해보자. 악의적인 목적으로 누군가가 DLL Export Table 정보를 쭉 확인하고 함수 이름으로 이 DLL의 기능을 추측할 수 있다는거다. 이때 그러면 DLL Export Function 이름을 대충 만들면되는거 아니야? 라고 한다면 할 말이 없다. SecretFunction_1, SecretFunction_2, SecretFu..