Jun 10, 2024
10대 4명이 MBTA를 해킹해 무임승차를 했습니다. 소속사는 듣고 있다고 하더군요
약 15년 전, 세 명의 MIT 학부생이 MBTA 결제 시스템의 보안 취약성에 대해 발언하여 법적 문제에 직면했습니다. Charlie Ticket 자기 띠 종이를 해킹하여
약 15년 전, 세 명의 MIT 학부생이 MBTA 결제 시스템의 보안 취약성에 대해 발언하여 법적 문제에 직면했습니다. 세 명의 학생은 Charlie Ticket 자기 띠 종이 카드를 해킹하여 자신들이 발견한 내용을 해커 컨퍼런스에서 다음과 같은 매력적인 질문과 함께 발표할 계획이었습니다. 평생 무료로 지하철을 타고 싶으십니까?
MIT 학생들의 강연은 취소됐지만 슬라이드는 온라인에 게재됐다. 15년 후, 네 명의 고등학생(매티 해리스(Matty Harris), 스캇 캠벨(Scott Campbell), 노아 깁슨(Noah Gibson), 잭 버토키(Zack Bertocchi))은 MIT 학생들이 중단한 부분부터 다시 시작하여 대중교통 시스템이 노출된 취약점을 해결했는지 확인하기로 결정했습니다. 스포일러 경고: 그렇지 않았습니다.
학생 중 두 명인 Harris와 Campbell이 All Things Thoughed 호스트 Arun Rath에 합류하여 자신의 연구 결과를 설명했습니다. 다음은 가볍게 편집된 성적표입니다.
Arun Rath: 그렇다면 최초의 해킹 사건은 2008년이었습니다. 그 당시 여러분은 기본적으로 아기였죠?
매티 해리스: 네. 제 생각에는 거의 두 개 정도 되는 것 같아요.
Rath: 그러면 이 이야기를 처음 들었을 때, 그리고 그 이야기가 당신의 상상력을 사로잡았던 때는 언제였나요?
해리스: 글쎄요, 저는 거의 정확히 2년 전에 처음 그 이야기를 들었습니다. 저는 Charlie Cards에 대해 읽고 있었습니다. 사실 저는 Charlie Card에 대한 Wikipedia 기사를 보고 있었습니다. 보안 문제에 관한 섹션이 있다는 것을 알고 계실 것입니다. 그리고 그들은 MIT 학생들과 그들이 한 일에 대해 언급했습니다.
나는 그들에 관한 몇 가지 기사를 읽었고, 소송이 엉망이 되었기 때문에 정말 흥미로웠다. 다행히도 그들은 소송에서 승리했습니다. 그들이 한 일은 매우 흥미로운 일이었습니다.
그리고 저는 실제로 우리의 공모자 중 한 명인 범죄 파트너인 Zack Bertocchi에게 말했습니다. 우리는 함께 기차에 앉아 있었는데, 제가 그에게 그 이야기를 했고, 거기에서 우리는 좀 더 조사를 했고, 그게 모든 일의 시작이었습니다. 우리는 처음에 그들의 연구 결과를 복제하고 싶었지만 거기에서 시작되었습니다.
래트: 그렇죠. 내 말은, 그것은 상당히 획기적인 사건이었습니다. 취약점을 노출하기보다는 악용하지 않는 사람들을 '화이트 햇 해커'라는 용어에 익숙하게 만든 것은 그때가 처음이었던 것 같습니다.
해리스: 네, 맞습니다. 그 이후로 상황이 확실히 달라졌죠? 지금은 화이트햇 해킹이 훨씬 더 받아들여질 수 있다고 생각하지만 당시에는 획기적인 사례였습니다. 일종의 보안 연구원을 보호하는 것이었고 그것은 큰 일이었습니다. 그로 인해 우리는 두려움을 조금 덜 느끼게 되었습니다.
Rath: 그리고 Scott, 이 문제를 어떻게 파헤쳤는지 이야기해 주세요. 이번에 시스템을 정교하게 다듬는 방법을 어떻게 알아냈나요?
스캇 캠벨: 그래서 저는 학생증을 받았고, 그것을 복제하여 친구들과 공유할 수 있는 방법을 찾을 수 있을 것이라고 생각했습니다. 그리고 제가 매티에게 건네주면서 그 얘기를 했더니 그가 "얘야, 보여줄 프로젝트가 있니?"라고 말하더군요.
그래서 우리는 그 프로젝트에 착수했고, 데이터가 어디에 있는지 알아내려고 노력했습니다. 그래서 우리가 할 일은 카드 한 장의 바이너리 덤프를 얻고 거기에 약간의 돈을 추가한 다음 덤프를 다시 저장하고 차이점이 무엇인지 살펴보고 1과 0의 순서를 알아내는 것입니다. 돈입니다. 그것은 우리가 가장 먼저 찾은 것이었습니다. 우리는 실제로 무엇이든 알아낼 수 있으려면 데이터를 변경하는 방법을 알아내야 한다는 것을 빨리 깨달았습니다.
그래서 우리는 체크섬이라는 것을 해독하는 작업으로 넘어갔습니다. 각 데이터 줄 끝에는 기본적으로 수학적 연산인 체크섬이라는 것이 있습니다. 그들은 데이터를 실행한 다음 출력을 얻습니다. 그리고 데이터를 변경하면 동일한 데이터에 대해 실행할 때 마지막 체크섬이 다르면 뭔가 잘못되었다는 것을 알 수 있습니다.
일반적으로 이는 칩에 무언가가 파손되어 발생하는 자연적인 오류와 비슷하지만 누군가가 칩을 엉망으로 만들려고 할 수도 있습니다. 그래서 프로젝트의 대부분은 체크섬이 우리가 카드에 넣은 새로운 데이터와 일치하도록 만드는 방법을 알아내려고 노력했습니다.