응용 프로그램 간 스크립팅

Cross-application scripting

CAS(Cross-Application Scripting)는 데스크톱 애플리케이션에 영향을 미치는 취약성으로 입력을 철저히 검사하지 않습니다.CAS를 사용하면 공격자가 특정 데스크톱응용 프로그램의 동작을 변경하는 데이터를 삽입할 수 있습니다.이를 통해 사용자의 시스템 내부에서 데이터를 추출할 수 있습니다.공격자는 CAS의 취약성을 부정 이용하는 경우 공격 대상 어플리케이션의 모든 권한을 얻을 수 있습니다.공격은 기반이 되는 운영체제시스템 및 하드웨어 아키텍처와는 어느 정도 무관합니다.

처음에 Emanuele Gentili에 의해 발견되어 이 기술과 그 의미에 대한 연구에 참여한 두 명의 다른 연구원(Alessandro Scoscia와 Emanuele Acri)과 함께 발표되었으며,[1][2][3] 2010년 밀라노에서 열린 보안 서밋에서 처음으로 발표되었습니다.

포맷 스트링 공격은 이 공격과 매우 유사한 개념으로 CAS는 이 공격 방식의 일반화로 간주할 수 있습니다.이 기술의 일부 측면은 이전에 클릭잭킹 기술로 시연되었습니다.

개념.

웹 인터페이스와 마찬가지로 그래픽 애플리케이션(특히 GTK+Qt)을 실현하기 위한 최신 프레임워크에서는 자체 위젯 내에서 태그를 사용할 수 있습니다.공격자가 태그를 삽입할 수 있는 가능성을 얻으면 응용 프로그램의 모양과 동작을 조작할 수 있는 기능을 얻을 수 있습니다.Web 페이지에서의 크로스 사이트 스크립팅(XSS)의 사용에서도 같은 현상이 볼 수 있었습니다.이 때문에, 이러한 동작은 Cross-Application Scripting(CAS; 크로스 애플리케이션스크립팅)이라고 불리고 있습니다.

일반적으로 데스크톱 애플리케이션은 상당한 양의 입력을 받고 많은 기능을 지원하며, 특히 웹 인터페이스보다 더 많은 기능을 지원합니다.이로 인해 개발자는 신뢰할 수 없는 소스로부터 프로그램이 수신할 수 있는 모든 입력이 올바르게 필터링되었는지 확인하는 것이 더 어려워집니다.

응용 프로그램 간 요청 위조

크로스 어플리케이션스크립팅이 웹 어플리케이션의 XSS에 상당하는 어플리케이션인 경우 크로스 어플리케이션 요구 위조(CARF)는 데스크톱어플리케이션의 크로스 사이트 요구 위조(CSRF)에 상당합니다.

CARF에서는 웹에서 계승된 "링크"와 "프로토콜"의 개념이 확장되었습니다.이는 그래픽 환경 및 경우에 따라서는 운영 체제의 컴포넌트를 포함하기 때문입니다.

CSRF에 의한 취약성을 부정 이용하려면 사용자의 조작이 필요합니다.그래픽 인터페이스를 올바르게 변경하면 사용자가 특정 작업을 쉽게 실행할 수 있기 때문에 이 요건은 특별히 제한되지 않습니다.CAS 를 사용하면, 애플리케이션의 외관을 오해의 소지가 있는 많은 변경을 얻을 수 있습니다.이것은 새로운 종류의 「피싱」입니다.이 「피싱」의 위험성은, Web 사이트나 E-메일 이외의 장소에서 이러한 종류의 공격을 검출할 수 있는 툴이 없기 때문에, 한층 더 높아집니다.

사용자의 브라우저에서 명령을 조작하고 나중에 실행할 수 있는 XSS 기술과 달리 CAS를 사용하면 그래픽 인터페이스뿐만 아니라 운영 체제와 직접 대화할 수 있습니다.

레퍼런스