[정보보안] RTLO(Right-to-Left Override) 공격이 뭐지?
RTLO(Right-to-Left Override) 공격은 텍스트 파일에 대한 사용자 신뢰를 이용하려고 “.exe” 실행 파일의 확장자를 텍스트 파일 확장자로 변경합니다. RTLO 공격은 사용자가 무해한 텍스트 파일을 여는 것처럼 생각하도록 속이고 대신 악성 실행 파일을 열게하는 정교한 피싱 방법입니다. 이는 랜섬웨어 공격자가 회사 컴퓨터 등 피해자의 컴퓨터에 악성 코드를 설치하는 여러 방법 중 하나입니다.
오른쪽에서 왼쪽으로 쓰는 유니코드 4문자[U+202E]를 이용합니다.
영어를 비롯한 대부분의 언어 사용자는 왼쪽에서 오른쪽으로 읽지만 아랍어나 히브리어와 같은 언어는 오른쪽에서 왼쪽으로 읽습니다. Windows와 같은 운영 체제는 아랍어와 히브리어를 포함한 글로벌 언어를 지원해야 합니다. 기본적으로 운영 체제는 문자를 왼쪽에서 오른쪽으로 표시하지만 특수 유니코드 문자는 필요한 경우 오른쪽에서 왼쪽으로 문자를 표시하도록 운영 체제에 지시합니다. 텍스트를 오른쪽에서 왼쪽으로 뒤집는 유니코드 문자는 눈에는 보이지 않지만 서면에서는 [U+202e]로 표시되고 Windows 문자표에서 복사하여 붙여넣을 수도 있습니다.
- Windows 검색 텍스트 상자에 “문자표”를 입력하여 엽니다.
- “문자표”가 열리면 “고급보기”를 체크합니다. 문자집합이 디폴트로 “유니코드”로 선택되어 있습니다. 텍스트 박스에 “202E”를 입력합니다.
- 선택 버튼을 클릭하면 “복사” 버튼이 활성화되고, 유니코드 202E가 복사됩니다.
- “mytexttxt.exe” 파일를 준비하고 “mytext”와 “txt.exe” 사이에 붙여넣기를 합니다. 표시할 수 없는 문자이므로 파일에 붙여넣을 때 아무 것도 표시되지 않지만, 파일이름이 “mytextexe.txt”로 표시됩니다.
- 파일 이름은 “mytextexe.txt”로 표시되지만, 파일형식은 여전히 응용프로그램(*.exe)입니다.
유니코드 문자[U+202E] 뒤에 표시되는 모든 문자가 반전됩니다. 대부분의 사용자는 .txt 파일이 무해하다는 것을 알고 있으므로 공격자는 텍스트 파일 확장자를 사용하여 사용자가 악성 파일이 무해하다고 생각하게 만듭니다. 오른쪽에서 왼쪽으로 쓰는 유니코드 문자는 인식 가능한 코드를 화면에 인쇄하지 않으므로 사용자는 해당 파일이 실제로 실행 가능한 파일이지 무해한 텍스트 파일이 아니라는 사실을 인식하지 못합니다. 피싱 공격에서 이메일 시스템을 속여 실행 파일이 대상 사용자의 받은 편지함에 전달되도록 하고 텍스트 파일로 속여 사용자로 하여금 시스템에서 악성 코드를 실행하도록 유도합니다.