복사하면 안되는 이유
홈페이지홈페이지 > 블로그 > 복사하면 안되는 이유

복사하면 안되는 이유

Oct 31, 2023

온라인으로 명령을 복사하여 붙여넣고 싶으신가요? 두 번 생각.

컴퓨터에서 휴대폰에 이르기까지 복사-붙여넣기는 어디에서나 널리 퍼져 있습니다. 긴 명령이나 중복된 텍스트를 입력할 필요가 없으므로 삶이 더 편해지고 시간이 절약됩니다. 그러나 충분히 주의하지 않으면 단순히 컴퓨터 터미널에 명령을 복사하여 붙여넣는 것만으로도 해킹을 당할 수 있습니다.

복사 및 붙여넣기가 어떻게 해킹을 당할 수 있는지, 그리고 이를 방지하려면 어떻게 해야 하는지 알아봅시다.

명령줄을 처음 사용하는 사람이든 노련한 베테랑이든 상관없이 시간을 절약하고 실제 작업을 완료하기 위해 인터넷에서 명령을 복사하여 붙여넣고 싶은 유혹을 느낄 수 있습니다. 그러나 악성 사이트는 실제로 명령을 복사하여 터미널에 직접 붙여넣을 때마다 악성 코드를 삽입하기 위해 코드 상자를 무기화하고 있다는 점을 알아야 합니다.

이러한 악의적인 행위자는 무해해 보이는 코드 뒤에 악의적인 명령을 숨기기 위해 다양한 프런트엔드 트릭을 사용하고 있습니다.

다음과 같은 명령sudoapt-get 업데이트 && apt-get 업그레이드 일반적으로 Linux 시스템에서 리포지토리를 업데이트하고 패키지를 업그레이드해야 합니다. 그러나 이를 모르고 이 명령을 터미널에 직접 복사하여 붙여넣는 경우 다음으로 인해 자신도 모르게 루트 권한으로 맬웨어 코드를 실행하고 있을 수 있습니다.sudo접두사.

최악의 경우 시스템이 완전히 장악되거나 랜섬웨어 공격이 발생할 수도 있습니다. 그런데 위협 행위자는 이를 어떻게 수행합니까? 무해한 코드 뒤에 악성 명령을 어떻게 숨길 수 있나요?

이 공격은 교묘하게 제작된 JavaScript나 기본 HTML을 사용하여 수행될 수 있습니다. JavaScript에는 다음과 같은 메커니즘이 있습니다.이벤트리스너 . 이벤트는 버튼 클릭, 양식 제출, 마우스 이동, 키 입력 누르기, 창 크기 조정 등 브라우저에서 발생할 수 있는 작업입니다.

그만큼이벤트리스너 , 이름에서 알 수 있듯이 웹 애플리케이션이 사용자 작업에 의해 트리거된 특정 이벤트에 반응할 수 있습니다. 악성 웹페이지는 사용자가 텍스트를 복사하는 이벤트를 캡처하고 무해한 텍스트를 악성 코드로 바꾸는 방식으로 이 합법적이고 유용한 메커니즘을 악용합니다.

데모 이미지를 빌드하는 데 사용된 주요 익스플로잇 코드는 다음과 같습니다.

JavaScript가 필요하지 않고 바닐라 HTML을 사용하는 또 다른 데모는 다음과 같습니다.

이렇게 하면 눈에 보이지 않는 흰색 텍스트가 생성되어 악성 명령 "rm -rf /"와
태그는 줄 바꿈을 생성하여 일부 터미널이 코드를 붙여넣는 즉시 코드를 실행하도록 합니다. 이 공격을 수행하려면 프로그래밍과 웹 개발 기술에 대한 강력한 이해가 필요하다고 생각할 수도 있지만 실제로는 매우 쉽습니다.

공격자가 JavaScript나 웹 개발에 대한 지식이 없더라도 ChatGPT를 사용하면 쉽게 악성코드를 만들 수 있습니다. 올바른 프롬프트를 사용하면 ChatGPT를 쉽게 탈옥하고 이 트릭을 사용하는 악성 웹 페이지를 만들 수 있습니다.

악성 코드 공격으로부터 자신을 보호할 수 있는 구체적인 방법은 없습니다. 물론, 의심스러운 사이트에 대해 JavaScript를 허용하지 않을 수 있지만, 그 특성상 JavaScript를 활성화하지 않으면 탐색이 허용되지 않을 것입니다.

더욱이 CSS(Cascading Style Sheets) 방법의 경우 여전히 유효한 CSS 코드이기 때문에 악성 명령에 대한 구체적인 방어 수단이 없습니다(즉, 아무런 문제가 없지만 의도는 여전히 악의적입니다). 자신을 보호하는 가장 좋은 방법은 기본적인 인터넷 위생을 준수하고 현명하게 대처하는 것입니다.

알 수 없는 링크를 방문하지 말고 인터넷에서 복사하는 명령을 터미널에 붙여넣기 전에 항상 텍스트 편집기에 붙여넣으세요. 명령줄에 악성 코드가 들어오지 않도록 합법적이고 평판이 좋은 코드 리소스를 사용하세요.

또한 xfce4 터미널과 같은 일부 터미널에는 복사-붙여넣기 보호 기능이 사전 장착되어 있습니다. 터미널에 명령을 붙여넣자마자 실행될 작업을 정확하게 알려주는 팝업이 표시됩니다. 터미널에도 유사한 메커니즘이 있는지 확인하고 활성화하십시오.

/strong>