DDE(Dynamic Data Exchange)가 무엇인지 살펴보면
DDE(Dynamic Data Exchange) 기능은 사용자의 편의를 위해 Windows 운영체제에서 응용 프로그램 간 데이터 전송을 위해 사용되는 기능이다. 라고 설명되어 있다.
즉 DDE 기능 자체는 악의적인 공격 기법이 아니다. 편의를 위해 만들어놓은 기능인데 이를 어떻게 공격에 사용되는지 보자
가장 기본적인 공격 형태는 워드, 엑셀, 비주얼 베이직 에서 파워쉘을 실행시키고 원하는 명령을 내릴 수 있는 공격이다.
좀 더 복잡한 형태를 보면 프로그램 실행이 아닌 메모리 내에서 프로세스의 상태로 실행되거나 악성코드를 내려받고 실행까지 시키는 형태를 보인다.
이러한 DDE 공격에는 여러 대응법이 있다.
가장 확실한 방법은 파일을 열어보지 않는 것일 것이다.
따라서 파일의 확장자를 확인하거나 확장자가 정상이어도 매크로가 실행될 수 있기 때문에 실행 후 나오는 응용프로그램 실행 알림창을 잘 살피고 실행하지 않도록 해야한다.
물론 프로그램 설정을 통해서도 매크로 실행을 막을 수 있다.
워드 프로그램은 '파일 > 옵션 > 고급 > 일반 > 문서를 열 때 자동 연결 업데이트' 설정을 해제한다 .
엑셀 프로그램은 '파일 > 옵션 > 고급 > 일반 > DDE(동적 데이터 교환)을 사용하는 다른 응용프로그램 무시' 에 체크를 해준다.
사용자, 응용 프로그램, 다음으로는 운영체제에서 대응하는 방법이다.
레지스트리를 이용하는 방법으로
워드는 레지스트리 편집기에서 \HKEY_CURRENT_USER\Software\Microsoft\Office & 버전\Word\Security AllowDDE (DWORD)로 이동 후 AllowDDE 값을 변경해준다.
값이 0이면 사용 X, 1이면 이미 실행중인 프로그램의 DDE 요청만 허용, 2는 무조건 허용이다.
엑셀은 레지스트리 편집기에서 \HKEY_CURRENT_USER\Software\Microsoft\Office & 버전\Excel\Security DisableDDEServerLaunch (DWORD)로 이동 후 DisableDDEServerLaunch 값을 변경한다.
값이 0이면 DDE 서버 시작 설정을 초기 동작과 동일하게 유지하고, 1이면 사용자가 특정 DDE 서버를 시작할지 여부를 선택하는 알림창을 표시하지 않는다.
레지스트리 편집기에서 \HKEY_CURRENT_USER\Software\Microsoft\Office & 버전\Excel\Security DisableDDEServerLookup (DWORD)로 이동 후 DisableDDEServerLookup 값을 변경한다.
값이 0이면 DDE 서버 조회 설정을 초기 동작과 동일하게 유지하며, 1이면 DDE 서버 가용성에 대한 쿼리를 사용하지 않는다.
'Security&Hacking > 악성코드' 카테고리의 다른 글
기초 정적 분석 (0) | 2020.04.23 |
---|---|
악성코드 유형 (0) | 2020.04.21 |
악성코드 분석 기법 (0) | 2020.04.21 |
랜섬웨어(Ransomware) (0) | 2020.03.12 |