상세 컨텐츠

본문 제목

전문가들, Avast, AVG, Avira 솔루션에서 DLL 하이재킹 이슈 발견

국내외 보안동향

by 알약(Alyac) 2019. 10. 24. 11:28

본문

Experts found DLL Hijacking issues in Avast, AVG, and Avira solutions


SafeBreach의 보안 연구원들이 Avast, AVG, Avira 안티바이러스 제품에서 공격자가 방어를 우회하고 권한을 상승시키기 위해 악성 DLL 파일을 로드하는데 악용할 수 있는 취약점을 발견했습니다.


이 취약점은 모든 버전의 Avast, AVG 안티바이러스 제품에서 발견 되었으며 CVE-2019-17093으로 등록 되었습니다. 관리자 권한이 있는 공격자가 보안 디펜스 우회, 자체 디펜스 우회, 권한 상승 및 지속성을 얻기 위해 이 취약점을 악용할 수 있습니다.


“PPL (Protected Process Light)를 사용 중인 경우라도 서명 되지 않은 임의 DLL을 NTAUTHORITY\SYSTEM로써 실행 되는 프로세스 다수에 로드할 수 있습니다.”


전문가들은 AVGSvc.exe 프로세스, AM-PPL (Anti-Malware Protected Process Light)이 서명 된 프로세스, NT AUTHORITY\SYSTEM로써 실행 되며 시작 시 C:\Windows\System32\wbem\wbemcomn.dll 폴더로부터 wbemcomn.dll를 로드하려 시도한다는 것을 발견했습니다. 전문가들은 이 라이브러리는 위의 폴더에 존재 하지 않으며 System32 폴더에 존재한다고 지적했습니다.


이 안티바이러스는 악성 코드가 자신의 폴더에 DLL을 추가하는 것을 방지하기 위한 자체 방어 메커니즘을 구현했습니다.


이 자체 방어 메커니즘은 안티바이러스가 컴포넌트를 로드하는 보호 되지 않은 폴더에 DLL 파일을 추가할 경우 우회할 수 있습니다.


“서명 되지 않은 DLL을 보호 되지 않은 폴더에 심어 놓을 수 있다면, 자체 방어를 우회할 수 있게 됩니다.”


“코드 무결성 메커니즘으로 인해 AM-PPL에 서명 되지 않은 코드를 로드하는 것은 일반적으로 허용 되지 않습니다. 윈도우용이 아닌 DLL이 보호 된 프로세스에 로드 될 경우 적절한 인증서로 서명 되어 있어야 합니다.”


SafeBreach Labs의 전문가들은 wbemcomn.dll 원본에서 서명 되지 않은 프록시 DLL을 컴파일한 후 해당 DLL을 C:\Program Files\System32\에 복사해 SYSTEM 권한으로 로드 되도록 했습니다.


<이미지 출처 : https://securityaffairs.co/wordpress/92882/hacking/dll-hijacking-issues-avast-avg-avira.html>


이 취약점은 Avast Antivirus와 AVG Antivirus 버전 19.8 이하의 모든 에디션에 존재합니다. AVG는 Avast의 자회사이며, 해당 취약점을 수정하기 위한 보안 업데이트를 9월 26일 공개했습니다.


전문가들은 Avira Antivirus 2019에서도 유사한 취약점인 CVE-2019-17449를 발견했습니다.


“CVE-2019-17449 취약점은 NT AUTHORITY\SYSTEM로써 실행 되는 서명 된 프로세스 다수에 서명 되지 않은 임의 DLL을 로드하여 방어 회피, 지속성, 권한 상승을 달성하기 위해 악용 될 수 있습니다.”

“이 취약점을 악용하기 위해서는 공격자가 관리자 권한을 가지고 있어야 합니다.”


이 전문가는 Avira Launcher 서비스, Avira ServiceHost 서비스가 시작 되면 잘못 된 경로로부터 라이브러리를 로드하려 시도한다는 점을 노렸습니다.


연구원들은 특별히 제작 된 DLL을 이 경로에 저장함으로써 Avira.ServiceHost.exe 내에서 코드를 실행할 수 있었습니다. Avira System Speedup, Avira Software Updater, Avira Optimizer Host 프로세스에서도 동일한 문제가 발생합니다.


“이 특정 바이너리에 대해서는 어떠한 디지털 서명 인증도 이루어지지 않았습니다. 이 프로그램은 로딩중인 다른 DLL 파일이 서명 되었는지 확인하긴 하지만, Wintrust.dll 라이브러리를 가져올 때 이를 확인하지 않습니다. 이 방식은 DLL 내부에 있는 WinVerifyTrust 함수를 사용하는데 아직까지 로드 되지 않았기 때문입니다. 따라서 서명 되지 않은 임의 DLL을 로드할 수 있습니다.”


“이 안티바이러스는 Launcher 폴더에 대한 어떠한 자체 보호 기능도 포함하고 있지 않았습니다. 앞서 언급했듯, 다른 안티바이러스 제품들은 안티바이러스의 경로를 수정하는 것을 제한하는 미니드라이버를 사용하여 이러한 공격으로부터 자신의 폴더를 보호합니다.”


전문가들은 지난 7월 22일 Avira에 이 취약점을 제보했으며, 회사는 9월 18일에 이를 수정했습니다.



출처 : 

https://securityaffairs.co/wordpress/92882/hacking/dll-hijacking-issues-avast-avg-avira.html

https://safebreach.com/Post/Avast-Antivirus-AVG-Antivirus-DLL-Preloading-into-PPL-and-Potential-

Abuses



관련글 더보기

댓글 영역