Tesla FSD는 8개의 카메라를 이용해 자동차가 알아 볼 수 있는 벡터 공간으로 변환함.
생체 시각 정보를 연구하고 구조를 구현함.
여러 스케일의 카메라 정보들이 서로서로 상호작용하면서 정보가 들어옴.
그리고 이걸 동시다발적으로 해봄. 우린 이걸 HydraNets(히드라넷)이라 부름.
근데 이걸로는 부족한거같아서, 도로의 상황을 자동차가 알아서 추론하는 기능을 넣음.
카메라로 그냥 벡터공간을 그리면 저렇게 깨져있는 점선의 교차로 모습이 나옴.
여러 카메라에 걸쳐서 나오는 데이터가 같은거라도 일부분만 있다보니 이게 뭔지 알아보기 어려움.
그래서 Tesla는 카메라의 왜곡된 정보를 필터링하고 또 여러 정보들을 하나로 합쳐봄.
그렇게 필터링된 데이터를 합치면 왼쪽 하단의 깨진 그림이 아니라 오른쪽 하단 처럼 깔끔한 교차로가 나옴.
카메라를 통해 물체의 2D(평면)만 보고 3D(입체)의 모습을 추론시킴.
정지된 2D(평면)이 아니라 계속 움직이는(Video)의 형태로 학습시키고 있음.
FSD가 앞므로의 도로 모습을 예측하고 주행하는 모습임.
FSD는 모든 시공간의 벡터 정보를 전부 통합해서 주행 함.
도로에선 여러가지 많은 상황들이 발생하게 되는데 그걸 계속해서 예측. (옆의 그래프들)
좁은 길목 에서 마주오는 차량을 발견했을때, 누가 먼저 양보할지 판단하고 상대방의 차량에 대한 상황도 계속 예측시킬거임.
계속된 상황 예측과 판단으로 최적을 계산하고 그곳으로 주행을 할 것임.
이런 개같은 상황에서도 적용될수 있게 노력할것 임.
Tesla 입맛에 맞춘 데이터 라벨링 분석 인프라를 구축했음. (라벨링 : AI 학습데이터를 만들기 위해 원천데이터에 값(라벨)을 붙이는 작업임. 사람이 일일이 데이터에 라벨을 붙여야 해 'AI 눈알 붙이기'라고 함. 그래서 자동화하는데 이거 제대로 하는 회사 별로 없음 ).
시공간 데이터 전부 활용해서 열심히 라벨링함.
각 차량 데이터를 조각조각 모아서 맵을 만듬.
Tesla는 지금 어느정도 자동화 라벨링 인프라를 구축했고, 현재 자동화 라벨링 중이며 클라우드 서버 없이 오프라인으로 이정도 처리하고 있음.
당연히 악천후 다 데이터 통합해서 학습시키고 있음.
그 동안 모은 데이터를 바탕으로 가상 시뮬레이션을 만들어서 이걸로 학습시키고 있음.
이 가상 시뮬레이션으로 밤, 낮 등 수천가지 물체 지형 전부 학습할꺼고 실제 상황에서 일어나기 힘든 인위적인 상황도 전부 시뮬레이션 돌 리는 중임.
Elon Musk : Tesla 시뮬레이터 엔진 개쩔어서 이걸로 게임 하나 만들수 있음.
현실 배경을 바탕으로 유사한 배경으로 재구축 가능함. (게임 맵 생성되듯이)
오토파일럿 컴퓨터,클라우드 전부 확장중임. 이거 받쳐주는 하드웨어는??
칩설계 제일 잘하는 사람 스카웃해와서 새로운 칩셋 만들었음.
짜잔 이게 새로만든 D1 칩임. CPU GPU 네트워킹 전부 가능하고 머신러닝 최적화로 만들었음. 테슬라가 자체적으로 설계 공정 전부 다 했다 어떰??
이렇게 지금 도조(Dojo) 컴퓨터 시스템에 쓰고있음.
여러 칩셋들 조온나게 연결해도 병목없이 구축가능하게 만들었음. 분산 컴퓨팅 자급자족.
Tesla 도조(Dojo) 컴퓨터 시스템 핵 빠름 (1.1exaFLOP(엑사플롭) //1초에 100경 처리).
xaasxasxasx.blogspot.com 는 블로그 형태로 있으며 자바스크립트가 추가되어있다.
이 자바스크립트는 한눈에 알아볼 수 없게 구성되어 있다.
페이지에는 바이너리나 악성 링크가 포함되어 있지 않지만, 소스 코드를 보면 렌더링 하는 동안 페이지에 동적으로 infect 한 압축된 HTML 코드가 나타난다.
이 추가 스크립트는 "mshta" 유틸리티에 의해 실행하도록 설계되었다. "WScript.Shell"은 오브젝트를 만드는 VBScript 코드이다. mshta.exe는 Microsoft HTML 응용 프로그램 (HTA) 파일을 실행하는 유틸리티고 HTA는 Internet Explorer와 동일한 모델과 기술을 사용하지만 브라우저 외부에서 실행되는 독립 실행 응용 프로그램이다.
실행되는 첫 번째 단계에서 unescape를 3번 실행해서 푼다.
VBScript 코드의 StrReverse 함수를 사용하여 난독화 되어 있다.
4개의 레이어로 구성되어 있고 StrRverse과 splitedsplited 된 변수, 멀티 Wscript 오브젝트 등을 사용하는 vb스크립트가 나온다. mshta hxxp://www.pastebin.com/raw/c3V923PW
Word, Excel, Publisher 및 PowerPoint와 같은 일부 Microsoft Office 프로세스를 종료하는 역할을 한다.
이후 재감염을 위해 persistence를 추가한다. 2단계에서 두 개의 schedule task를 만들고 숨겨진 창을 닫는다.
TTP를 변경하거나 작업에서 킬 스위치를 실행하는 update vector처럼 사용하였다.
첫 번째 pastebin은 4 개의 unescape레이어와 이전의 난독화 방법으로 사용한다.
최종 코드는 숫자로 인코딩 된 Powershell이다.
이 디코딩된 텍스트는 IEX 명령어를 통해 Powershell에서 command let으로 실행된다.
복호화하면 아래 그림과 같다. 이 코드가 악성코드의 implant 핵심이다. 둘 다 Pastebin에서 서로 다른 HTA 애플리케이션을 호출한다.
첫 번째는 NET 프레임 워크의 Reflection Assembly에서 LoadWithPartialName 함수를 사용하여 메모리에서 데이터를 다운로드하고 실행한다. 이 Loader는 dll의 명령과 데이터를 얻기 위해 getstring 메서드를 사용하는 난독화레이어가 있다.
"0rhAppFq”은 Powershell 코드는 payload를 숫자 형식으로 인코딩한다.
난독화된 다른 powershell scrip인 payload를 디코딩하면서 실행 중인 프로세스 메모리에 직접 shell code가 로드된다.
dll은 ConfuserEx (1.0.0.0) 프로텍터로 보호되며 escaped 된 문자열과 레퍼런스 모듈을 볼 수 있다. 이 코드는 Process Hollowing 기술을 통해 대상 프로세스에 payload를 삽입하는 목적을 가진 dynamic linking library이다.
Encbuf는 크기가 다양하며 다음과 유사한 함수로 참조된다. 코드 조각이 실행되는 주소를 결정하는 쉘 코딩 기술이다.
예를 들어 아래 그림과 같이 0x41AFC2에서 call +5를 호출하면 0x41AFC7이 호출된다. encbuf는 반환된 주소 뒤에서 2 바이트를 시작하여 pop 및 retn 명령어를 건너뛴다. 모든 encbuf는 일반적인 x86 함수의 프롤로그처럼 보이는 것으로 시작한다. 결국 이 코드는 실행해서 분석해야 하지 정적 디스어셈블 하면 의미가 없다.
일부 문자열들은 스택에서 한 번에 DWORD로 넣어 빌드한다.
C2에 데이터를 보내는 사용자 에이전트 설정을 볼 수 있습니다.
Opera chrome user32 pass32 auth32 login Chome_child_dll
각각 decrypt_func1 및 decrypt_func2와 같은 복호화 기능이다.
Decrypt_func1은 암호화된 데이터를 반복하고 바이트 값에 따라 암호화 된 데이터의 특정 오프셋에서 일반 텍스트 데이터로 일정량의 데이터를 복사한다. decrypt_func2는 덧 샘, 뺄샘뺄샘, RC4으로 총 세 가지 라운드로 나눠진다.
일반적으로 문자열을 체크할 때 strcmp 등의 함수를 사용하는데 이때 문자열이 메모리에 남을 수 있다. 이 formbook은 문자열이 메모리에 흔적을 남기는 것을 최소화하도록 문자열의 CRC32 해쉬 값을 사용하여 특정 문자열 검색과 비교를 한다.
예를 들어 어떠한 API를 Export table 등에서 검색할 때에 문자열 단위의 검색이 아닌 CRC32 해쉬값을 통한 검색을 사용한다. 이러한 방법은 기존 쉘 코드등에서 쉘코드 크기를 줄이고 쉘 코드를 쉽게 리버싱 하지 못하게 하려는 의도로 자주 사용되는 기법이다.
먼저 해시를 포함하는 encbuf가 복호화한다. 여기서는 두 개의 다른 encbuf, 위의 암복호화 기능 및 일부 SHA1 해싱이 필요하다.
decrypt 된 encbuf에 인덱스를 지정하고 해시를 decrypt 한다.
Anti-debugging은 다음과 같이 구현하였다.
감시되는 프로세스 목록, 경로, 사용자 이름 등은 다음과 같다.
formbook의 몇가지 특징적인 기능들을 소개하였다. 처음부터 마지막 페이로드까지 보면 공격자는 많은 준비를 했다는 것을 알 수 있다.