제퍼넷 로고

이번 주의 보안 소식: Forksquatting, RustDesk 및 M&M

시간

Github은 이를 따라잡기 위해 고군분투하고 있습니다. 타이포스쿼팅을 새롭게 변형한 악성 코드 캠페인. 플레이는 간단합니다. 인기 있는 리포지토리를 복제하고, 악성 코드를 추가하고, 포크를 원본으로 광고합니다. 일부 개발자는 포크를 실제 프로젝트로 착각하여 의도치 않게 악성코드를 실행하기도 합니다. 당연한 이름 선택은 포크스쿼팅(forksquatting)이지만, apiiro의 연구원들은 "Repo Confusion"이라는 더 안전한 이름을 사용했습니다.

캠페인은 자동화되어 있으며 GitHub는 이를 인지하고 있으며 대부분의 악성 저장소가 즉시 제거됩니다. 어떤 이유로든 GitHub 알고리즘은 새로운 저장소를 모두 포착하지 못합니다. 현재 캠페인은 100,000개가 넘는 합법적인 프로젝트의 코드를 사용하여 수백만 개의 포크를 게시하는 것으로 보입니다. 쪼그리고 앉는 공격 계열이 여기에 머무르는 것처럼 보이기 시작했습니다.

RustDesk 및 홀수 인증서

RustDesk 원격 액세스 소프트웨어는 오픈 소스이고 자체 호스팅이 가능하며 Rust로 작성되었기 때문에 흥미롭습니다. 나는 오랫동안 해야 할 일 항목으로 RustDesk를 탐색해 왔지만 약간의 우려스러운 드라마가 이제 막 끝났습니다. 지난 11월에 한 사용자가 다음과 같이 지적했습니다. RustDesk 설치의 일부로 테스트 루트 인증서가 설치되었습니다.. 해당 루트 인증서는 SHA1로 자체 서명됩니다. RustDesk 바이너리가 다른 인증서로 서명된다는 우려도 있습니다.

그 이후로 새로운 이벤트가 있었습니다. 첫째, 있었다 해커 뉴스 스레드 이번 달 초에 발생한 문제에 대해 다음날, CVE-2024-25140 NIST에 등록되어 미친 CVE 9.8 CVSS 등급을 받았습니다. 일부 FUD를 살펴보고 실제로 무슨 일이 일어나고 있는지 이야기해 보겠습니다.

첫째, 루트 인증서는 SHA1보다 더 안전한 해싱 기능으로 서명되어야 합니다. 하지만 당신이 생각하는 이유 때문은 아니며, 이 경우에는 중요하지 않습니다. 루트 인증서는 정의에 따라 자체 서명되며, 서명되는 유일한 이유는 이러한 인증서가 유효하려면 서명되어야 하기 때문입니다. 하위 인증서는 루트의 서명으로 보호되지 않습니다. 해당 루트 서명에 의존하는 중요한 기능은 취소 요청을 발행하는 기능입니다. 이는 널리 신뢰받는 루트 인증서 중 하나에 있어서는 정말 나쁜 일이며, 이와 같이 신뢰할 수 없는 인증서에는 전혀 문제가 되지 않습니다.

다음으로 RustDesk에는 실행 파일에 대한 유효하고 서명된 인증서가 있습니다. 자체 서명된 루트 인증서는 EV(확장 유효성 검사) 인증서가 필요한 커널 드라이버 서명에만 사용됩니다. 응용 프로그램 설치 중에 루트 인증서를 설치하면 이 요구 사항을 쉽게 회피할 수 있다는 점은 다소 당황스럽습니다. 하지만 이는 RustDesk가 아닌 Microsoft에 해당됩니다.

여기서 마지막 관심사는 이 인증서가 시스템 전체 인증 기관(CA)으로 설치된다는 것입니다. 이것이 이 이야기에서 가장 걱정스러운 요소이지만 인증서에는 KU(키 사용) 및 EKU(확장 키 사용)를 지정하는 필드가 있습니다. RustDesk CA는 코드 서명에만 사용됩니다. 이는 RustDesk나 이 키를 소유한 사람이 TLS를 깨거나 웹 사이트를 스푸핑하는 것을 허용하지 않습니다. 이는 유효한 문제가 될 수 있는 코드 서명을 허용하지만 처음 나타나는 불길한 상황은 아닙니다.

RustDesk는 설치에서 이 키를 가져왔는데, 이로 인해 가상 디스플레이 드라이버가 비활성화되었습니다. 이는 서명된 커널 드라이버가 필요한 기능이었습니다. 최신 소식은 RustDesk 개발자들이 도움을 받고 있으며 EV 코드 서명 인증서를 추구하고 있으며 해당 프로세스가 약 한 달 안에 마무리될 것으로 예상한다는 것입니다. 심각도가 9.8인 CVE는요? 완전히 가짜인 것 같습니다.

Ultimate Member SQL 인젝션

Ultimate Member WordPress 플러그인이 2.8.3 릴리스로 업데이트되었습니다. SQL 주입 결함 수정 인증되지 않은 사용자로 액세스할 수 있었습니다. 업데이트 차이점을 기반으로 함, 주요 문제는 아마도 누락되었을 것입니다 prepare() 704번 라인에 있습니다. 아, 그리고 분명히 조사되고 있으며 실제로는 잠재적으로 악용될 가능성이 있으므로 패치를 진행하세요.

WordPress에 SQL 주입 공격이 왜 그렇게 많이 발생하는지에 대해 이야기를 나누기에 좋은 시기일 것입니다. 첫째, SQL 주입은 사용자가 제공한 데이터가 실행할 SQL 명령의 일부로 해석되는 경우입니다. 이는 예상치 못한 문자를 포함함으로써 이루어집니다. 예를 들어, 세미콜론은 명령문의 끝을 나타내며 다음 명령문을 시작하는 데 사용될 수 있습니다. 따라서 순진한 프로그램이 숫자를 기대하는 경우 15; DROP TABLE Students 하나의 SQL 문을 만족시키고 데이터베이스에서 실행될 두 번째 문을 삽입합니다.

대체로 SQL 주입을 방지하는 방법에는 입력 삭제와 준비된 명령문이라는 두 가지 접근 방식이 있습니다. 그리고 둘 다 좋습니다! 먼저 사용자 입력을 삭제합니다. 정수가 실제로 정수이고 정수인지 확인하세요. 따옴표, 세미콜론 및 기타 잠재적으로 위험한 문자를 제거하십시오.

두 번째 접근 방식은 준비된 문을 사용하는 것입니다. 이는 기본적인 방식으로 SQL 명령과 데이터를 분리합니다. 그것은 다음과 같습니다 $database->prepare("INSERT INTO Students (name, age) VALUES (?, ?)"); SQL 명령을 보냅니다. 그 다음에는 $database->bind_param("si", $name, $age); 사용할 값을 설정합니다. 그리고 마지막으로 $database->execute(); 실제로 쿼리를 실행합니다. 코드와 값이 엄격하게 분리되어 있어 주입이 불가능합니다.

이제 우리는 자체적인 WordPress가 있는 WordPress에 왔습니다. wpdb 데이터베이스 호출을 위한 클래스입니다. 여기에는 유용한 기능이 포함되어 있습니다. wpdb::prepare() 이는 위에 표시된 대로 준비된 진술과 거의 비슷해 보입니다.

$wpdb->prepare( "u.user_registered BETWEEN %s AND %s", $from_date, $to_date );

하지만 전혀 그렇지 않습니다. 그만큼 prepare() 함수는 엄격하게 삭제 작업을 수행하며, sprintf() 가치 대체. 그만큼 prepare() 함수는 실제로 준비된 데이터베이스 문을 생성하지 않습니다. WordPress에서는 준비된 명령문을 실제로 사용하는 방법을 제공하지 않습니다. 개발자가 SQL 주입 문제를 겪지 않도록 하는 기본 패러다임 중 하나가 누락되었습니다.

M&M이 지켜보고 있다

나에겐 취미가 하나 있다. 나는 오작동하는 기계를 찾아내고 반짝이는 GUI 아래에서 어떤 OS가 실행되고 있는지 알아내려고 노력하는 것이 재미있다고 생각합니다. 내가 발견한 가장 이상한 임베디드 장치는 Windows의 전체 복사본을 실행하는 페이지 스캐너입니다. 지역 대형마트의 가격 스캐너는 Windows CE를 실행할 수도 있습니다. 비행기 좌석 등받이 인포테인먼트 센터는 정말 오래된 Linux를 실행합니다. 그리고 분명히 워털루 대학의 M&M 자판기는 Invenda.Vending.FacialRecognition.App.exe 애플리케이션이 설치된 Windows.

우리는 [SquidKid47]이 자판기 디스플레이 화면에서 알 수 없는 소프트웨어 예외를 포착하고 이를 Reddit에 공유했기 때문에 이를 알고 있습니다. ㅏ 학교 신문이 그 이야기를 취재했습니다 (pdf)를 통해 자동 판매기가 타겟 광고를 위한 스마트 모션 센서와 인구 통계 감지기의 조합으로 카메라와 얼굴 감지 기능을 사용한다는 사실을 확인했습니다. 예, 이 자동판매기는 타겟 광고를 제공합니다. 적어도 그들은 그랬습니다. 이 자동판매기에는 워털루를 만났어요 워털루 대학교에서 현재 학교는 공식적으로 이들의 퇴출을 요청하고 있습니다.

비트 및 바이트

Pwn에게 초인종을 울려라: 알고 보니 일부 스마트 초인종은 그다지 똑똑하지 않습니다.. 스마트 초인종을 재설정하고 다른 계정과 연결하는 프로세스가 있다는 것은 놀라운 일이 아닙니다. 이 과정이 큰 초인종 버튼을 8초 동안 누르고 있는 것만큼 쉽다는 것이 오히려 놀랍습니다. 최소한 합법적인 소유자는 변경 사항에 대한 이메일을 받게 됩니다.

프린터 불안은 새로운 것이 아니지만 3D 프린터 보안은 여전히 ​​약간 틈새 아이디어입니다. 상황이 바뀔 수도 있습니다. 이제 "greetings.txt" 파일에 해당하는 파일이 삭제되었습니다. Anycubic 프린터 여러 대에서. 분명히 Anycubic은 실제로 충분한 액세스 제어가 없는 MQTT 서버를 사용합니다.

또 그때가 그때야 GitLab에 대한 취약점 수정이 출시되었습니다., 이제 업데이트할 시간입니다. 이번에 눈에 띄는 것은 사용자 프로필 페이지 방문 시 발생하는 XSS(Cross Site Scripting) 결함입니다. 각 방문자의 프로필 페이지에 "samy is my Hero"를 복사하는 샘플 코드를 생성하는 독자의 연습으로 남겨두겠습니다.

그리고 마지막으로 아이러니 부서에서는 Avast에 벌금이 부과되었습니다 사용자 데이터를 수집하고 판매하기 위한 플랫폼으로 브라우저 개인 정보 보호 플러그인을 사용합니다. 이는 실제 데이터 판매를 위해 Jumpshot 플랫폼을 사용하여 2014년부터 2020년까지 일어났습니다. 데이터는 명목상 익명으로 처리되었지만 사용 가능한 정보의 양과 세부 사항은 약간 놀랍습니다. Jumpshot은 더 이상 존재하지 않으며 Avast는 이제 다른 회사의 소유라는 점을 지적할 가치가 있습니다. 사용자 정보를 수집하지 않기를 바랍니다.

spot_img

최신 인텔리전스

spot_img