(Người dịch: Su - J2Team Community)Related image

         Khoảnh khắc thăng hoa nhất mà một con bạc gian lận đạt đến chính là thời khắc mà sự tham lam vượt qua giá trị đạo đức và thách thức duy nhất còn lại chính là đánh thắng toàn bộ hệ thống sòng bài. Tại thời điểm mong manh đó, sự ham muốn điên cuồng để hạ gục những bàn đánh bài và những máy đánh bạc không chỉ thôi thúc họ mà còn làm cho họ cảm thấy nghẹt thở.
Những gì mà Alex Mayfield và ba người bạn đã trải qua còn hơn là nằm mơ giữa ban ngày. Cũng giống như những vụ hack khác, câu truyện này bắt đầu chỉ là một bài tập hack não chỉ để xem tính khả thi của nó. Cuối cùng, bốn người họ thật sự đã chinh phục được hệ thống máy đánh bạc và thắng khoảng “$1.000.000” từ sòng bài theo lời Alex.
Vào đầu những năm 90, bốn người họ đang làm công việc là chuyên viên tư vấn công nghệ cao và sống lông bông, không chủ đích. “Bạn biết đó. Bạn làm việc, kiếm ít tiền, sau đó nghỉ việc cho đến khi bạn hết tiền.” Las Vegas thì xa vời, chỉ được thấy trên phim và chương trình truyền hình. Vì thế, khi một công ty công nghệ ngỏ ý mời họ làm công việc phát triển một số phần mềm, và sau đó hộ tống nó đến chương trình triển lãm trong một trung tâm công nghệ cao tại Las Vegas, họ liền chớp lấy thời cơ ngay lập tức. Đây là chuyến đi đầu tiên đến Vegas của bọn họ, một cơ hội để được chính mắt nhìn thấy những ánh đèn nhấp nháy sáng chói, tất cả chi phí đều được trả, dại gì từ chối. Mỗi người được ở một phòng riêng của khách sạn lớn nên vợ của Alex và bạn gái của Mike cũng được đi cùng. Hai cặp đôi, cùng với Larry và Macro, lên kế hoạch cho khoảng thời gian nóng bỏng tại Thành Phố Tội Lỗi.
Alex kể rằng bọn họ không biết nhiều về việc đánh bạc và cũng không trông mong điều gì cả. “Bạn rời khỏi máy bay và thấy những người phụ nữ lớn tuổi đang ngồi chơi đánh bài. Điều đó dường như rất vui và hấp dẫn. Sau đó thì bạn hòa nhập vào nó.” Sau khi xong việc tại trung tâm triển lãm, bọn họ chơi lòng vòng trong sòng bài của khách sạn, đánh bài và uống bia miễn phí thì vợ của Alex đưa ra một thách đố:
“Tất cả máy đánh bạc này đều dựa trên máy tính nhỉ? Mấy ông chuyên về máy tính vậy mấy ông có làm gì được để mình thắng nhiều hơn không?”
Bọn con trai xin hoãn lại và về phòng Mike, ngồi tụm lại, bàn bạc về câu thách đố và đưa ra các giả thuyết về cách mà máy đánh bạc vận hành.
1. Nghiên Cứu
        Đó là một sự kích hoạt. Alex kể lại như hâm nóng những kỉ niệm sinh động tại thời điểm đó. “Cả bốn người đều tò mò về thách đố này, chúng tôi bắt đầu nghiên cứu về nó khi chúng tôi về nhà. Mất một khoảng thời gian ngắn cho việc tìm tòi để chứng minh những gì mà chúng tôi đã nghi ngờ. Đúng là những máy đánh bạc được máy tính lập trình. Vì vậy chúng tôi rất thích thú, và tìm cách để crack nó”
Đã từng có người hack được mấy cái máy đánh bạc này bằng cách “đổi firmware”. Sòng bài đặt một con chip bên trong máy và thay chương trình bằng một phiên bản mà sẽ cho họ nhiều lợi ích hơn là sòng bài cho. Những team khác đã làm điều đó, nhưng nó cần phải hợp tác với người làm cho sòng bài, và không phải nhân viên nào cũng làm được, mà phải là một trong những kỹ thuật viên bảo trì máy đánh bạc. Theo Alex và những người bạn,”Việc thay ROM cũng giống như việc bạn đập vào đầu của một bà già và giật lấy ví”. Họ nhận ra rằng nếu họ thật sự muốn làm thì đây sẽ là một thử thách về khả năng và tư duy lập trình của họ. Bên cạnh đó, họ lại không có lợi thế về social engineering, họ chỉ là những gã dev thông  thường. Họ cũng không đủ kỹ năng để tiếp cận một nhân viên của sòng bài và yêu cầu anh ta nhập bọn cùng họ để lấy số tiền mà chẳng phải là của họ.
Họ đã giải quyết vấn đề như thế nào? Alex giải thích:
        “Chúng tôi tự hỏi nếu chúng tôi có thể dự đoán được trình tự của các lá bài, hoặc kiếm được một back door (phần mềm lập trình để sau này xâm nhập vào program) mà một vài dev có thể để sẵn trong đó vì lợi ích riêng của anh ta. Tất cả các program đều do dev viết ra, và dev là những “nhân vật khó lường”. Chúng tôi nghĩ là bằng cách nào đó chúng tôi có thể tình cờ tìm được back door, như là nhấn những cái nút theo trình tự để thay đổi tỉ lệ các cược, hay một lỗi đơn giản của program mà chúng tôi có thể exploit.”
Alex đã đọc cuốn The Eudaemonic Pie của Thomas Bass, câu truyện về một nhóm lập trình viên và vật lí học vào những năm 80 chinh phục máy roulette tại Las Vegas bằng sáng chế riêng của họ: một cái máy tính “có thể mang trên người” cỡ bằng một gói thuốc lá để dự đoán những lần ra số của máy roulette. Một thành viên của nhóm tại bàn chơi sẽ nhấn nút để input tốc độ quay của bánh quay máy rolette và tốt độ xoay của quả banh. Máy tính sẽ truyền âm bằng radio đến máy nghe khiếm thính đeo trên tai của một thành viên khác. Người này sẽ phiên dịch các tín hiệu và đặt cược. Họ có thể ra về với một đống tiền nhưng họ không làm thế. Theo cách nhìn của Alex, “Kế hoạch của họ rõ ràng là một cơ hội tốt, nhưng khuyết điểm là kỹ thuật quá rườm rà và không đáng tin cậy. Bên cạnh đó là cần có nhiều người tham gia.
Cá tính và mối quan hệ của từng cá nhân cũng là một vấn đề. Chúng tôi quyết định không muốn lặp lại sai lầm đó.”
Alex tin rằng đánh bại một máy thì dễ hơn là với người “ bởi vì máy tính thì hoàn toàn được xác định” – kết quả dựa trên những gì nhập vào trước đó, nghĩa là dữ liệu đầu vào tốt, thì dữ liệu đầu ra sẽ tốt. (Câu thành ngữ gốc thì từ một quan điểm tiêu cực hơn: Ăn rác thì ra rác) Điều này đúng ngay sở trường của anh ấy. Khi còn là sinh viên, Alex từng là nhạc công, tham gia vào một nhóm nhạc đình đám và từng mơ trở thành ca sĩ nhạc rock. Và khi ước mơ không thành thì anh ta trôi dạt vào việc nghiên cứu toán học. Anh ta là thiên tài toán học, và mặc dù anh ta không quan tâm đến việc học ở trường cho lắm (bỏ học cao đẳng), anh ta lại bị mê hoặc bởi toán học đủ để có một kiến thức khá vững chắc về nó.
Image result for man reading library


Quyết tâm phải làm một số nghiên cứu, anh ấy đi Washington, DC, và dành một khoảng thời gian trong phòng đọc của Phòng Đặc Quyền Sáng chế (Patent Office.). “Tôi nghĩ rằng có thể sẽ có tên nào đó ngớ ngẩn đủ để bỏ tất cả mã code vào trong bằng sáng chế”. Và nó ngớ ngẩn thật khi mà anh ta đã đúng. “Vào thời điểm đó, việc bày một đống mã code trong bằng sáng chế là cách mà nhà sáng tạo bảo vệ phát minh của mình, vì code chắc chắn chứa thông tin mô tả đầy đủ về phát minh của mình dưới hình thức sẽ gây chùn bước với người không chuyên môn. Tôi tìm được một vài microfilm trong đó có chứa mã code cần tìm. Sau đó quét những trang của hex digits để lấy ra những phần thú vị mà phải cần được dịch ngược."
Việc phân tích mã code đã giúp giải tỏa một số thắc mắc, nhưng bọn họ kết luận rằng cách duy nhất để thực hiện bất kỳ điều gì là họ phải làm thực tế trên một máy cụ thể mà họ muốn hack để họ có thể tận mắt xem xét các dòng code.
Bọn họ gần như là một team hoàn chỉnh. Mike là một lập trình viên giỏi hơn về tài năng cũng như là về việc thiết kế phần cứng so với ba người kia. Macro là một lập trình viên sắc bén, dân nhập cư Đông Âu, nhìn như trẻ vị thành niên. Nhưng trong anh ấy có gì đó của một kẻ liều mạng, tiếp cận mọi thứ với tinh thần “gì cũng làm được” và láu cá. Alex thì xuất sắc trong việc lập trình và một trong những người đóng góp kiến thức về giải mật mà họ sẽ cần. Larry thì không hẳn là một lập trình viên và vì một tai nạn xe mô tô, anh ấy không thể di chuyển đây đó nhiều, nhưng lại là một người tổ chức rất tốt, luôn giữ cho dự án đúng tiến độ và giúp mọi người tập trung vào những gì cần phải thực hiện theo từng giai đoạn.
Sau những nghiên cứu sơ khởi, Alex hầu như quên lãng dự án này. Mặc dù vậy, Macro lại nôn nóng. Anh ấy nài nỉ, “Nó đâu phải chuyện to tát gì đâu, có tới 13 tiểu bang mà mình có thể mua máy đánh bạc hợp pháp mà.” Cuối cùng anh ấy thuyết phục được mọi người thử một lần. Chúng tôi thấy rằng “Mặc kệ, tới luôn!” Mỗi người trích ra một ít tiền để hỗ trợ cho việc đi lại và đủ mua một cái máy. Một lần nữa họ tiến về Vegas, lần này là tự trả chi phí và với một mục đích riêng trong đầu.
Alex kể, "Để mua một máy đánh bạc, về cơ bản bạn chỉ cần đi vào và đưa chứng minh thư từ một tiểu bang cho phép sở hữu một máy đánh bạc hợp pháp. Với một bằng lái xe từ một tiểu bang hợp pháp, họ chằng thèm hỏi gì nhiều.” Một trong bọn họ có mối liên hệ thân thiết với một cư dân Nevada. Anh ta hình như là chú của bạn gái của người nào đó, và anh ta sống ở Nevada.”
Bọn họ chọn Mike để giao dịch với người đàn ông này bởi vì theo Alex, “Mike có phong thái của một thương gia, một gã rất bề ngoài. Việc bạn sử dụng máy đánh bạc để chơi bất hợp pháp cũng giống như việc bạn mua súng vậy. Có rất nhiều máy được bán trong “thị trường xám”, thật ngạc nhiên là chúng tôi có thể mua một cái máy y chang cái mà chúng tôi từng chơi trong sòng bạc.”
Mike trả người đàn ông đó $1.500 cho một cái máy hiệu của Nhật Bản. “Sau đó hai chúng tôi để nó vào đằng sau xe. Lái về nhà như là chở em bé vậy.”
2. Lập Trình Phần Hacking
Mike, Alex và Macro cắm cái máy trên lầu hai của căn hộ mà họ đang thuê. Cảm xúc suốt quá trình này được Alex nhớ rất lâu như là một trong những trải nghiệm hào hứng nhất trong cuộc đời mình.
“Chúng tôi mở nó ra, tháo ROM, nghiên cứu processor. Tôi giả lập rằng mấy ông dev có thể đã làm việc dưới nhiều áp lực, họ có thể lười một tí hay là ẩu một tí. 
Kết quả là tôi đã đúng. Họ đã sử dụng chip 6809, giống với cái 6502 mà bạn thấy trong Apple II hay trong một Atari. Nó là một con chip 8-bit với bộ nhớ 64K. Tôi cũng là một dev vì thế quá quen thuộc với những thứ này.”
Cái máy mà Alex mua đã có khoảng 10 năm. Mỗi lần một sòng bài nào mà muốn thay máy đánh bạc thiết kế mới, Ủy Ban Bài Bạc Las Vegas phải tìm hiểu về program và phải chắc chắn là nó được thiết kế công bằng cho người chơi. Để một thiết kế mới được thông qua là một quá trình dài, vì thế sòng bài thà giữ máy cũ lâu hơn là bạn nghĩ. Về phía bọn họ, máy càng cũ, đồng nghĩa với việc công nghệ cũng cũ thì sẽ ít tinh vi hơn, thì càng dễ tấn công hơn.
Đoạn code mà họ tải xuống từ con chip thì ở dưới dạng binary, chuỗi 1 và 0 là cấp độ cơ bản nhất của cấu trúc máy tính. Muốn dịch nó sang dạng mà họ có thể làm việc được đầu tiên họ phải làm vài reverse engineering – một quá trình mà một kỹ sư hoặc một dev dùng để lần ra thiết kế của một program đã hoàn thành. Trong trường hợp này nó có nghĩa là chuyển đổi một ngôn ngữ của máy tính thành một dạng mà bọn họ có thể hiểu và làm việc trên nó.
Alex cần một disassembler để dịch đoạn code. Cả bốn người không muốn dính đến việc mua một disassembler bởi vì nó giống như việc bạn vào một thư viện gần nhà và mượn những cuốn sách hướng dẫn chế tạo bom vậy. Bọn họ tự viết disassembler riêng cho họ, một trải nghiệm mà Alex mô tả là “không phải là một phần của công việc cần làm nhưng nó vui và tương đối dễ.”
Khi code của máy poker chạy thông qua được trên disassembler, cả ba lập trình viên ngồi xuống và phân tích nó. Thông thường thì một kỹ sư phần mềm dễ dàng nhanh chóng xác định phần code mà anh ta muốn tập trung bởi vì người viết thường sẽ để dấu hiệu trên nó, ghi chú, comment, lưu ý giải thích chức năng của mỗi phần, cũng giống như cách mà cuốn sách có thứ tự cho từng phần, chương và tựa đề cho mỗi chương.
Khi một program được chuyển sang dạng mà máy tính có thể đọc thì những ghi chú sẽ bị bỏ qua vì máy tính hoặc bộ vi sử lý không cần đến nó. Vì vậy đoạn code mà được dịch ngược sẽ bị thiếu những phần chú thích hữu ích này. Nó giống như bản đồ mà không có tên đường, không đánh dấu cái nào là cao tốc hay đường đi.
Họ sàng lọc thông qua những mảng code trên màn hình máy tính nhằm tìm đầu mối cho câu hỏi cơ bản: “Logic ở đây là cái gì? Những lá bài được trộn như thế nào? Những lá bài thay thế được chọn như thế nào?” Nhưng bọn họ tập trung chính là xác định đoạn code cho bộ tạo số ngẫu nhiên (Random Number Generator – RNG). Alex đoán là những dev người Nhật khi lập trình có thể đã đi đường tắt cho nên sẽ để lại một vài lỗi trong bộ tạo số ngẫu nhiên và Alex lại đúng, nó có lỗi thật.
Image result for video poker
Máy chơi poker tại sòng bài

[Người dịch: Mình nói thêm về cách chơi video poker cho các bạn dễ hiểu  hơn ở phần sau.
Mỗi ván bài máy sẽ chia 5 lá bài trên màn hình. Người chơi sẽ chọn những lá bài mình cần giữ và nhấn nút một lần nữa. Máy sẽ thay lá bài không được chọn bằng những lá bài khác. Sau khi thay bài, máy sẽ tự động tính toán kết quả trên màn hình và cho bạn biết bạn đã thắng hay thua dựa trên luật sau:
Royal Flush (Thùng phá sảnh) - A♠ K♠ Q♠ J♠ 10♠
Straight Flush (Sảnh đồng chất) - Q♣ J♣ 10♣ 9♣ 8♣
4 of a Kind (Tứ quý) - A♥ A♦ A♠ A♣
Full House (Cù lủ) - K♣ K♠ K♦ 9♥ 9♣
Flush (Thùng) - 7♠ Q♠ 10♠ K♠ A♠
Straight (Sảnh) - J♠ 10♦ 9♥ 8♣ 7♥
Three of Kind (Sám - 3 lá) - Q♣ Q♥ Q♠
Two pair (2 đôi) - J♦ J♠ 8♣ 8♠
Jacks or better (Mạu Thàu) - A♠ ]
3. Viết Lại Code
        Alex kể một cách rất tự hào: “Chúng tôi là dev, chúng tôi làm rất tốt những gì chúng tôi cần làm. Chúng tôi tìm ra được cách mà những dòng lệnh được lập trình để hiển thị lá bài trên máy và sau đó chúng tôi viết một đoạn code bằng ngôn ngữ lập trình C có thể làm tương tự như vậy”
“Chúng tôi như được khuyến khích và làm việc không ngừng nghỉ. Mất khoảng 2, 3 tuần để thực sự nắm bắt tốt và chính xác những gì đang diễn ra trong những đoạn code.
Bạn quan sát nó, bạn đoán một số thứ, bạn viết một số code mới, cho nó vào ROM, đặt nó lại vào trong máy và xem chuyện gì xãy ra. Chúng tôi làm những thứ như là viết những quá trình sẽ làm hiện ra những con số hexadecimal của lá bài trên màn hình. Cơ bản là có được một cái nhìn tổng quan cách mà đoạn code xử lí những lá bài.
Nó là sự kết hợp giữa chạy thử - lỗi - phân tích từ trên xuống dưới. Các dòng code bắt đầu hợp lí rất nhanh. Vì vậy chúng tôi hầu như hiểu chính xác cách mà những con số trong máy tính hiển thị thành những lá bài trên màn hình.
Hi vọng của chúng tôi là bộ tạo số ngẫu nhiên sẽ tương đối đơn giản và vào những năm đầu 90 thì nó rất đúng. Tôi làm một số nghiên cứu và tìm ra là nó được sáng tạo dựa trên lý thuyết mà Donald Knuth viết vào những năm 60. Những người này họ không sáng chế ra những cái máy này, họ chỉ lấy những nghiên cứu có sẵn dựa trên phương pháp Monte Carlo và để nó vào dòng code của họ.
Chúng tôi tìm ra chính xác thuật toán mà họ sử dụng để tạo ra những lá bài, nó gọi là Linear Feedback Shift Register (LFSR - bộ ghi dịch hồi tiếp tuyến tính), là một bộ tạo số ngẫu nhiên khá tốt. “
Image result for hacker


Nhưng họ sớm khám phá ra bộ tạo số ngẫu nhiên có một lỗ hổng chết người giúp cho công việc của họ dễ dàng hơn nhiều. Mike giải thích “Nó là một bộ tạo số 32-bit tương đối đơn giản, vì vậy việc hack nó là trong tầm tay, và kèm theo một số ưu thế của chúng tôi thì điều này trở nên gần như là tầm thường thôi."
Những con số thật sự được tạo ra không hẳn là ngẫu nhiên. Alex nghĩ có một lý do chính đáng tại sao điều này có được như vậy:
Nếu nó thật sự ngẫu nhiên, thì họ không thể tạo các tỷ lệ đặt cược. Họ không thể kiểm soát được những tỷ lệ cược thật sự. Một số máy có thể sẽ liên tục cho ra thùng phá sảnh. Nó hoàn toàn không nên xảy ra. Vì vậy, các nhà thiết kế muốn xác minh rằng họ phải có số liệu thống kê đúng hoặc không có quyền kiểm soát các trò chơi. 
Một điều khác nữa mà những nhà thiết kết không nhận ra khi họ thiết kế máy đánh bài này là căn bản thì họ ko cần một bộ tạo số ngẫu nhiên. Theo thống kê thì có mười lá bài trong mỗi lần chia – năm lá được thấy, và một trong năm lá thay thế sẽ xuất hiện nếu người chơi chọn loại bỏ. Phiên bản đầu tiên của máy video poker cơ bản lấy mười lá bài từ mười số ngẫu nhiên
một cách trình tự trong mỗi lần chơi.”
Vì vậy, Alex và các bạn của mình nhận ra các máy video poker thế hệ trước đây được kiểm tra rất sơ sài. Và bởi vì những sai lầm này, họ có thể viết một thuật toán tương đối đơn giản nhưng thông minh để đánh bại máy đánh bài.
Trick sẽ là như thế này: bắt đầu với lần chơi đầu tiên, những lá bài hiện ra sẽ được input vào máy tính của họ tại nhà. Thuật toán của họ sẽ tính toán cùng thời điểm mà bộ tạo số bắt đầu và sau bao nhiêu con số thì nó sẽ cho ra thùng phá sảnh.
“Chúng tôi thử nghiệm trên máy poker của mình, chạy chương trình và nó hoàn toàn cho chúng tôi biết trình tự của những lá bài. Bọn tôi cực kỳ phấn khích. “
Alex giải thích cho sự phấn khích này là vì “biết rằng bạn thông minh hơn người nào đó và bạn có thể đánh bại họ. Và trong trường hợp của bọn tôi còn kiếm được tiền nữa.”
Sau đó chúng tôi đi tìm mua cái đồng hồ đeo tay Casio với tính năng đếm ngược, có thể cài đặt phần 10 của một giây. Họ mua ba cái cho ba người đi đến sòng bài. Larry sẽ là người chịu trách nhiệm nhập dữ liệu vào máy tính.
Họ đã sẵn sàng để bắt đầu thử cách của họ. Một người trong nhóm bắt đầu chơi và gọi ra năm lá bài. Anh ta sẽ đọc tên và hoa (bích, cơ, chuồng, rô) của năm lá bài. Larry sẽ nhập những dữ liệu vào máy tính. Mặc dù nghe nó có vẻ không chuyên nhưng nó lại phổ biến với đám mọt sách và lập trình viên cứng đầu, và cho mục đích này thì càng tuyệt vời vì họ dùng một con chip nhanh hơn nhiều so với con trong máy poker của Nhật. Nó chỉ mất vài giây để tính toán chính xác thời điểm để cài vào một trong ba đồng hồ đếm ngược Casio.
Khi thời gian hết, anh chàng tại máy sẽ nhấn nút Play. Nhưng điều này phải được thực hiện một cách chính xác trong vòng một phần nhỏ của một giây. Theo Alex giải thích thì nó thật sự cũng không đến nỗi rắc rối:
Hai trong số chúng tôi đã từng là nhạc sĩ. Nếu bạn là một nhạc sĩ và bạn có một cảm giác hợp lý với nhịp điệu, bạn có thể nhấn một nút trong cộng hoặc trừ năm phần nghìn giây.
Nếu tất cả mọi thứ hoạt động theo kế hoạch, máy sẽ hiển thị thùng phá sảnh. Họ đã thử nó trên máy đánh bạc của mình, thực tập cho đến khi tất cả những lần nhấn đều cho ra thùng phá sảnh.
Cách đó vài tháng, theo Mike, họ đã "reverse engineering các hoạt động của máy tính, học cách mà những con số ngẫu nhiên biến thành những lá bài trên màn hình như thế nào một cách chính xác, bộ phát số sẽ lặp lại chính xác khi nào và nhanh như thế nào. Tất cả các biểu hiện đặt trưng của máy. Và làm môt program ghi nhận tất cả các biến đổi này để chúng tôi biết được tình trạng cụ thể của máy ngay lập tức. Chúng tôi có thể dự đoán độ lặp của bộ phát số ngẫu nhiên bất cứ lúc nào trong vòng vài giờ kế tiếp hoặc cả ngày với độ chính xác cao. "
Họ đã đánh bại máy đánh bài và khiến nó phải phục vụ cho họ. Họ đã thử thách trí tuệ như một hacker và đã thành công. Kiến thức có thể làm giàu cho họ.
Nằm mơ ban ngày thì đương nhiên vui rồi. Họ có thể thực sự thành công trong mớ hỗn độn của sòng bài?
4. Quay Lại Sòng Bài - Lần Này Là Để Chơi Thật Sự
Image result for casino


Việc ngồi chơi trên máy riêng của bạn tại một nơi an toàn và riêng tư thì khác xa với việc ngồi giữa một sòng bài nhộn nhịp và ăn cắp tiền của họ. Nó yêu cần bạn phải có một thần kinh thép.
Đám phụ nữ thì nghĩ chuyến đi này chỉ là vui chơi. Đám con trai khuyến khích họ mặc váy bó và hành vi sang chảnh: đánh bài, trò chuyện, cười khúc khích, ăn uống. Hi vọng các nhân viên làm việc trong khu vực camera “Mắt trên trời” (Eyes on the Sky) sẽ bị phân tâm bởi khuôn mặt xinh đẹp và phần da thịt được khoe ra. "Vì thế chúng tôi hối thúc bọn con gái làm hết sức, càng lố càng tốt, "Alex nhớ lại. 
Hi vọng rằng họ có thể phù hợp và trộn lẫn với đám đông. "Mike làm tốt nhất. Nó thuộc dạng hói đầu. Nó và vợ nó trông giống y như người chơi bình thường. "
Alex mô tả cảnh tượng như thể nó vừa mới xảy ra ngày hôm qua. Marco và Mike có lẽ làm khác một chút, nhưng đây là cách Alex làm cùng với vợ là Annie. Anh ta sẽ trinh sát sòng bạc trước và chọn một máy đánh poker. Anh cần phải biết chính xác chu kỳ thời gian của máy. Cách họ dùng là nhét cái camera vào một túi đeo ngang vai. Tại sòng bài, người chơi sẽ xác định vị trí cái túi để cái ống kính máy ảnh được trỏ vào màn hình của máy poker, và sau đó anh ta sẽ cho máy chạy trong một thời gian. "Nó có thể hơi khó khăn," anh ta nhớ lại, "cố gắng treo túi vào đúng vị trí chính xác mà lại phải là chỗ không giống như là một vị trí thực sự quan trọng. Bạn chỉ không muốn làm bất cứ điều gì đó trông đáng ngờ và gây chú ý.” Mike đề nghị một cách khác đòi hỏi ít hơn: “Chu kỳ thời gian cho một máy bất kỳ trong sòng bài đã được
tính toán bằng cách đọc lá bài trên màn hình hai lần, cách nhau nhiều giờ đồng hồ." Anh ta đã phải chắc chắn máy đó không được chơi ở giữa khoảng thời gian đó, bởi vì nó sẽ làm thay đổi tỷ lệ lặp. Cách đó thì dễ, chỉ cần kiểm tra để thấy rằng các lá bài hiển thị giống như lá mà được thấy cuối cùng vào máy, thường thì "máy có tiền thưởng cao thì ít người chơi hơn."
Khi kết quả của lá bài hiện ra lần thứ hai, Alex cũng sẽ đồng bộ hóa với cái máy đếm thời gian Casio, sau đó gọi cho Larry về dữ liệu thời gian của máy và trình tự các lá bài. Anh ta sẽ nhập nó vào máy tính ở nhà và chạy chương trình. Dựa trên những dữ liệu này, máy tính sẽ dự đoán thời điểm tuôn ra thùng phá sảnh tiếp theo. "Bạn hy vọng đó hàng giờ, đôi khi vài ngày", trong trường hợp đó họ sẽ phải bắt đầu lại với một máy khác, có lẽ ở một khách sạn
khác.
Quay trở lại tại thời điểm mà nếu một người nào đó đã kiếm được máy mục tiêu, Alex và Annie sẽ quay trở lại sòng bạc và chơi trên các máy xung quanh cho đến khi người chơi rời đi. Sau đó, Alex sẽ ngồi vào máy mục tiêu, Annie ngồi ở máy bên cạnh. Họ sẽ bắt đầu chơi, diễn như là họ đang chơi rất vui. Sau đó, như Alex hồi tưởng lại:
Tôi bắt đầu một game, đồng bộ một cách cẩn thận với máy tính giờ Casio. Khi bài được chia ra, tôi ghi nhớ giá trị và hoa của năm lá bài. Sau đó tiếp tục chơi cho đến khi tôi có tám lá bài theo trình tự được ghi nhớ. Tôi gật đầu với vợ báo rằng tôi đang trên đường đi đến chỗ gọi điện thoại nằm ngoài sòng bài. Tôi có khoảng tám phút để đến điện thoại, làm những gì tôi đã phải làm, và trở lại máy. Vợ tôi tiếp tục chơi. Bất cứ ai đến để chơi máy của tôi, cô ấy sẽ nói với họ là chồng cô ấy đang ngồi ở đó.
Chúng tôi đã tìm ra một cách là gọi đến máy nhắn beeper của Larry và nhập số từ bàn phím điện thoại về thông tin các lá bài. Làm vậy chúng tôi không cần phải nói to tên các lá bài vì mấy người trong sòng bài luôn luôn để ý những thứ dính dáng đến nó. Larry sẽ một lần nữa nhập dữ liệu các lá bài vào máy tính và chạy chương trình.
Sau đó, tôi sẽ gọi điện cho anh ta. Larry sẽ để tai nghe bên cạnh máy tính. Máy tính sẽ phát ra hai lần sóng. Cái đầu tiên tôi sẽ nhấn nút Pause trên máy đếm giờ Casio, để ngăn chặn nó đếm. Lần thứ hai, tôi sẽ nhấn Pause để nó bắt đầu đếm.
Các lá bài Alex báo cho máy tính sẽ trùng hợp một chính xác với thời điểm bộ tạo số của máy đánh bạc. Alex phải điều chỉnh cho thời gian đồng hồ đếm ngược bằng với lệnh trì hoãn trong máy tính để nó về ngay chính xác thời điểm mà các thùng phá sảnh sẵn sàng ra.
Một khi mà đồng hồ đếm ngược đã được khởi động lại, tôi đi lại chỗ máy đánh bạc. Khi đồng hồ đếm báo "bíp, bíp, boom" - Đúng thời điểm phải "bùng nổ", tôi nhấn nút play trên máy một lần nữa.
Đó là lần đầu tiên, tôi nghĩ rằng tôi đã giành được $ 35.000.
 Kế hoạch của chúng tôi đã đạt mức thành công đến khoảng 30 hoặc 40 phần trăm bởi vì nó hoạt động rất khá. Những lần duy nhất nó không thành công là khi chúng tôi không đặt đúng thời gian.
Đối với Alex, lần đầu tiên thắng bài là "khá thú vị, nhưng đáng sợ. Những người cai quản sòng bài là những gã người Ý hay cau có. Tôi chắc chắn anh ta đang nhìn tôi rất buồn cười, với bối rối biểu hiện trên khuôn mặt của tôi, có lẽ vì tôi đi ra vào gọi điện thoại suốt. Tôi nghĩ rằng bọn họ có thể đã kiểm tra lại đoạn video ghi hình.” Mặc dù căng thẳng, có chút "hồi hộp" Mike nhớ lại "Một cách tự nhiên tôi sợ một rằng ai đó có thể thấy hành vi kỳ lạ của tôi, nhưng trong thực tế không có ai thấy tôi buồn cười cả. Vợ tôi và tôi đã được đối xử bình thường giống như những người thắng tiền do chơi lớn - chúc mừng và tặng nhiều thẻ giảm giá ".
Họ thành công đến nỗi phải lo lắng nếu chiến thắng quá nhiều tiền họ sẽ thu hút sự chú ý đến mình. Họ bắt đầu nhận ra rằng họ phải đối mặt với các vấn đề gây tò mò vì quá thành công. "Rất dễ gây chú ý. Chúng tôi đã thắng jackpot đến hàng chục ngàn đô la. Một thùng phá sảnh trả 4.000 cho 1; trên một máy $5 sẽ là $20.000. "
Nó đi lên từ đó. Một số trò chơi gọi là cấp tiến nghĩa là jackpot tiếp tục tăng cho đến khi ai đó thắng và bọn họ đã có thể thắng jackpot một cách dễ dàng.
Có một lần tôi thắng $45.000. Một anh chàng kỹ thuật bụng bự bước đến ,có lẽ là anh chàng mà hay đi xung quanh và sửa chữa các máy móc. Ông có một chìa khóa đặc biệt mà những kẻ khác không có. Ông mở hộp ra, kéo ra một bảng mạch từ, rút các chip ROM ngay trước mặt bạn. Ông có một máy đọc ROM mà ông sử dụng để kiểm tra các chip từ máy chống lại gold master được lưu giữ dưới chỗ chứa và khóa lại.
Alex biết là những lần test ROM đã được quy trình tiêu chuẩn trong nhiều năm qua. Anh ta giả định rằng họ đã bỏ giai đoạn này nhưng cuối cùng cũng bị ép buộc làm cho nên việc kiểm tra ROM chỉ làm để đối phó.
Tuyên bố của Alex khiến cho tôi tự hỏi liệu các sòng bạc có thực hiện bước kiểm tra này không vì một số gã tôi gặp trong tù đã thực sự thay thế firmware trong máy đánh bạc. Tôi tự hỏi làm thế nào họ có thể làm điều đó một cách nhanh chóng để tránh bị bắt. Alex nhận ra đây là một kỹ thuật social engineering tiếp cận, rằng họ đã thỏa hiệp với nhân viên an ninh
và cho tiền cho những người bên trong sòng bạc. Anh ta phỏng đoán rằng họ có thể thậm chí đã thay thế các gold master để những con chip khác tấn công vào hệ thống.
Niềm tự hào về team hack của mình, Alex khẳng định, đó là họ không phải thay đổi firmware. Và họ nghĩ rằng cách tiếp cận riêng của họ mang tính thách thức hơn nhiều.
Bọn họ không thể tiếp tục thắng lớn như họ đã làm. Bọn họ nhận ra "Lỡ như có ai đó gặp nhau và cả hai sẽ nói," Tôi đã nhìn thấy anh chàng này trước đây." Chúng tôi bắt đầu cảm thấy sợ rằng chúng tôi sẽ bị bắt."
Bên cạnh những lo lắng luôn hiện diện về việc bắt, họ cũng lo ngại về các vấn đề thuế. Với bất kỳ chiến thắng nào trên $ 1,200, các casino sẽ xác định danh tính và báo cáo cho IRS. Mike nói rằng: "Nếu người chơi không tạo ID, chúng tôi giả định rằng thuế sẽ được khấu trừ lúc thanh toán, nhưng chúng tôi không muốn gây chú ý tới chính mình. "Nộp thuế" không phải là một vấn đề lớn ", nhưng" nó bắt đầu xuất hiện trên lí lịch là bạn thắng một số tiền lớn
đến khó tin. Vì vậy có rất nhiều lí luận về việc, 'Làm thế nào để chúng ta nằm ngoài hệ thống kiểm soát?' "

Họ cần phải tìm ra một cách tiếp cận khác. Sau một thời gian ngắn với cách "gọi điện về nhà", họ bắt đầu thai nghén cho một ý tưởng mới.
5. Cách Tiếp Cận Mới
Related image


Bọn họ có hai mục tiêu trong thời gian này là phát triển một phương pháp mà sẽ cho phép họ giành chiến thắng như: cù lũ, sảnh hay thùng thì tiền thắng sẽ không quá lớn để thu hút sự chú ý. Thứ hai là làm sao cho bớt bị chú ý hơn, ít gây phiền nhiễu vì phải chạy đến điện thoại trước mỗi lần chơi.
Vì các sòng bạc mà chỉ có một số lượng hạn chế các kiểu máy của Nhật Bản, bọn họ phải chọn một máy được sử dụng rộng rãi hơn, loại được sản xuất bởi một công ty Mỹ. Họ tháo nó ra như cách họ đã làm và phát hiện ra rằng quá trình tạo số ngẫu nhiên được làm phức tạp hơn nhiều. Máy đánh bạc thế hệ mới được kết hợp đến hai bộ tạo số thay vì chỉ một. "Các nhà lập trình có vẻ ý thức nhiều hơn về các khả năng của việc bị hack". Alex kết luận.
Nhưng một lần nữa cả bọn phát hiện ra rằng các nhà thiết kế đã thực hiện một quyết định sai lầm. "Họ dường như đã đọc một bài báo nói rằng bạn sẽ cải thiện chất lượng của sự ngẫu nhiên nếu bạn thêm một bộ thứ hai, nhưng họ đã làm nó sai cách". Để xác định một lá bài tiếp theo, thì số của bộ thứ nhất phải được cộng thêm vào bộ thứ hai.
Cách đúng để thiết kế theo kiểu này là cài đặt máy tạo số thứ hai thay đổi giá trị của nó sau mỗi lá bài được chia. Các nhà thiết kế đã không làm điều đó. Họ chỉ lập trình máy thứ hai thay đổi giá trị của nó tại thời điềm bắt đầu mỗi lượt chơi, và như vậy số thêm vào từ máy thứ hai sẽ giống với số của máy thứ nhất sau mỗi lá bài được chia.

Theo Alex, việc sử dụng hai máy chia bài tạo nên thách thức về mật mã học. Anh ta nhận ra rằng nó tương tự như một tiến trình mà đôi khi được sử dụng trong việc mã hóa tin nhắn. Mặc dù anh ta đã có được một số kiến thức về vấn đề này, nhưng không đủ để tìm ra giải pháp, do đó, anh ta bắt đầu làm chuyến đi đến một thư viện các trường đại học gần đó để nghiên cứu thêm.
Nếu các nhà thiết kế đọc một số cuốn sách về hệ thống mã hóa cẩn thận hơn, họ sẽ không có được sai lầm này. Ngoài ra, họ cần phải có thêm vài phương pháp thử nghiệm các hệ thống cho việc cracking theo cách chúng tôi đã crack nó.
Bất kỳ trường đại học tốt nào chuyên về công nghệ thông tin đều có thể viết code để làm những gì mà chúng tôi đang làm để hiểu biết về những gì cần thiết. Phần hấp dẫn nhất của nó là tìm ra được thuật toán tìm kiếm một cách nhanh chóng để nó chỉ mất vài giây cho bạn biết những gì đang xảy ra; nếu bạn làm nó sơ sài, nó có thể mất một vài giờ để cung cấp cho bạn một giải pháp.
Chúng tôi là những lập trình viên khá tốt, tất cả chúng tôi vẫn còn làm công việc này để sống vì vậy chúng tôi đã đưa ra một số giải pháp rất khả thi. Tôi không muốn nói là rất đáng kể.
Tôi nhớ một sai lầm tương tự được thực hiện bởi một lập trình viên tại Norton (trước khi Symantec mua chúng) làm việc trên sản phẩm Diskreet của họ, một ứng dụng cho phép người dùng tạo ổ đĩa ảo được mã hóa. Các nhà nhà lập trình đã làm các thuật toán không chính xác - hoặc có lẽ cố ý – dẫn đến kết quả làm giảm khoảng trống cho các khóa mã hóa từ 56 bit
xuống còn 30. Tiêu chuẩn mã hóa dữ liệu Chính phủ liên bang đã sử dụng là một key 56-bit, được coi là không thể phá vỡ, và Norton cho khách hàng của mình cảm giác rằng dữ liệu của họ được bảo vệ theo tiêu chuẩn này. Do lỗi của lập trình, dữ liệu của người sử dụng được mã hóa với chỉ 30 bit thay vì 56. Ngay cả bây giờ, nó có thể brute-force một key 30-bit. Bất kỳ người sử dụng sản phẩm này đều bị một cảm giác sai về bảo mật: Một kẻ tấn công có thể lấy được key của họ trong một khoảng thời gian ngắn và chiếm đoạt khả năng tiếp cận dữ liệu của người dùng. Bọn họ đã phát hiện ra cùng một loại lỗi trong phần lập trình của máy đánh bạc.
Cùng lúc đó, bọn con trai cũng đang làm việc trên một chương trình máy tính có thể cho phép họ thắng máy mục tiêu mới của họ, họ nhấn mạnh với Alex rằng anh ta không cần phải chạy tới lui đến cái phone nữa. Câu trả lời hóa ra là dựa trên một trang về các giải pháp Eudaemonic Pie: một máy tính mang được trên người . Alex đã phát minh ra một máy tính thu nhỏ được xây dựng xung quanh một bảng vi xử lý nhỏ và đi cùng với nó là một nút điều khiển nằm khích trong chiếc giày, cộng với một máy rung như cái trong điện thoại di động ngày nay. Họ gọi hệ thống của họ "Máy tính bỏ túi"
"Chúng tôi phải có một chút khéo léo để làm việc trên một con chip nhỏ với một bộ nhớ nhỏ," Alex nói. "Chúng tôi đã làm một phần cứng đẹp để làm cho tất cả vừa trong đôi giày và hoạt động được(ergonomic)." (Theo “Sinh lí lao động học "ergonomic" trong bối cảnh này, tôi nghĩ rằng anh ta muốn làm cho nó đủ nhỏ để bạn có thể đi bộ mà không khập khiễng!)
6. Đợt Tấn Công Mới
Bọn họ bắt đầu thử kế hoạch mới, và nó hơi hại não một tí. Chắc chắn, họ bây giờ có thể bỏ qua những hành vi đáng ngờ như chạy đến điện thoại trước mỗi trận thắng. Nhưng ngay cả với tất cả những lần diễn tập lặp đi lập lại tại “văn phòng” của họ, đêm khai mạc đồng nghĩa với việc trình diễn trước mắt của một lượng lớn khán giả, của những người luôn nghi ngờ về sự an toàn.
Lần này chương trình được thiết kế để họ có thể ngồi ở một máy lâu hơn, chiến thắng một loạt các khoản tiền nhỏ hơn, ít đáng ngờ hơn. Alex và Mike hồi tưởng lại một số áp lực:
Alex: Tôi thường đặt máy tính nhỏ trong túi cho nó giống như một đài phát thanh mini. Chúng tôi chạy một dây từ máy tính xuống bên trong chiếc vớ vào công tắc trong giày.
Mike: Tôi đeo cái của tôi đến mắt cá chân. Chúng tôi làm các công tắc từ những mảnh nhỏ của breadboard [bảng mạch khung – vật liệu được sử dụng để lắp mạch thử nghiệm]. Những mảnh này khoảng một inch vuông và một cái nút mini. Chúng tôi may trên một miếng nhựa đàn hồi để nó có thể đi chuyển xung quanh ngón chân cái. Sau đó, cắt một lỗ ở đế của Dr. Scholl
để giữ nó ở vị trí cố định trong giày của bạn. Nó chỉ là khó chịu nếu bạn sử dụng nó cả ngày, nó khá thốn.
Alex: Vì vậy, bạn đi vào các sòng bạc, bạn cố gắng trông bình tĩnh, hành động như không có gì, không có cọng dây nào trong quần của bạn. Bạn bước lên, bạn bắt đầu chơi. Chúng tôi có một đoạn code, một loại code giống như Morse. Bạn đưa tiền vào để chạy tín dụng, do đó bạn không cần phải tiếp tục thêm tiền và sau đó bắt đầu chơi. Khi bài được chia, bạn nhấp vào nút
dưới giày để nhập những lá bài nào đang được chia.
Các tín hiệu từ nút giày đi vào máy tính trong túi quần của tôi. Thông thường lúc bắt đầu, mất khoảng đã bảy hoặc tám lá bài để được đồng bộ. Bạn được năm lá bài cho một lần chơi, bạn có thể rút thêm ba lá bài nữa là một điều rất bình thường, như là bạn đang giữ cặp, rút thêm ba khác thành tám lá bài.
Mike: Các code để gõ trên nút nằm trong giày dưới dạng binary, và nó cũng sử dụng một kỹ thuật nén giống như cái gọi là mã Huffman. Vì vậy, dài-ngắn sẽ là 1-0, một số nhị phân hai. Lâu dài sẽ là 1-1, một số nhị phân ba, và tiếp tục. Không có lá bài nào cần phải gõ ba lần cả.

Alex: Nếu bạn giữ nút trong ba giây, nghĩa là hủy. Và [máy tính] sẽ cung cấp cho bạn hướng dẫn như dup-dup-dup có nghĩa là "OK, tôi đã sẵn sàng cho việc nhập số." Chúng tôi đã thực tập điều này - Bạn phải tập trung và học cách làm thế nào để làm điều đó. Sau một thời gian chúng ta có thể gõ, gõ ngay cà trong khi đang trò chuyện với một nhân viên sòng bạc.
Khi tôi gõ vào code để nhận dạng khoảng tám lá bài sẽ đủ để bảo đảm đồng bộ hóa khoảng 99 phần trăm. Vì vậy, sau bất cứ lúc nào từ một vài giây đến một phút hoặc lâu hơn, máy tính sẽ buzz ba lần.
Tôi đã sẵn sàng hành động.
Tại thời điểm đó, máy tính bỏ túi đã tìm ra chỗ trong thuật toán hiển thị các lá bài vừa được chia. Vì thuật toán của nó tương tự như trong máy chơi poker, cho mỗi lần chơi mới, máy tính sẽ "biết" năm lá bài thêm đang chờ khi người chơi chọn bỏ bài và sẽ báo hiệu lá bài nào cần giữ để có được những lá bài thắng trong tay. Alex tiếp tục:
Các máy tính cho bạn biết phải làm bằng cách gửi tín hiệu đến một máy rung trong túi của bạn. Chúng tôi nhận những lần run bằng cách rất cổ lỗ sĩ . Nếu máy tính muốn bạn giữ lá thứ ba và thứ năm, nó sẽ đi bíp, bíp, beeeeep, bíp, beeeeep, mà bạn cảm giác nó run trong túi của bạn.
Chúng tôi tính toán rằng nếu chúng tôi chơi một cách cẩn thận, chúng tôi đã có khoảng tỉ lệ 20 đến 40 phần trăm, có nghĩa là lợi thế 40 phần trăm trên mỗi lần chơi. Nó rất là lớn - các người chơi blackjack tốt nhất trên thế giới chỉ đạt trong khoảng 2-1 / 2 phần trăm. Nếu bạn đang ngồi ở một máy chơi $5 và bỏ năm đồng tiền tại một thời điểm, hai lần một phút, bạn có thể kiếm $25 một phút. Trong nửa giờ, bạn có thể dễ dàng kiếm $1,000 đô. Mọi người ngồi xuống và nhận được may mắn như thế mỗi ngày. Có lẽ 5 phần trăm của những người ngồi xuống và chơi trong nửa giờ có thể làm điều đó tốt. Nhưng họ không làm điều đó mỗi lần họ chơi. Chúng tôi được 5% đó bất cứ khi nào mình chơi.
Bất cứ khi nào một trong số bọn họ thắng lớn trong một sòng bạc, anh ta sẽ chuyển sang một sòng bài khác. Mỗi anh chàng thường sẽ trúng bốn hoặc năm liên tiếp. Khi họ quay trở lại cùng một sòng bạc trong một chuyến hành trình mới một tháng sau đó, họ sẽ đi vào những thời điểm khác nhau trong ngày, để gặp những ca làm việc khác nhau của người trong sòng bài, những người ít có khả năng nhận ra bọn họ. Họ cũng bắt đầu tấn công những sòng bạc ở các thành phố khác - Reno, Atlantic City, và các nơi khác.
Các chuyến đi, những lần chơi, chiến thắng dần dần trở thành thói quen. Nhưng trong một lần, Mike nghĩ thời điểm mà tất cả đều sợ hãi đã đến. Anh ta chơi lên tay một tí, lần đầu tiên chơi máy $ 25, việc này tạo căng thẳng bởi vì giá trị máy càng cao, thì càng gây thêm chú ý.
Tôi có lo lắng một chút nhưng mọi thứ tốt hơn tôi mong đợi. Tôi thắng khoảng $5,000 trong khoảng thời gian ngắn. Sau đó thắng lớn, một nhân viên vẻ mặt nghiêm nghị vỗ vào vai tôi. Tôi ngước nhìn hắn ta và cảm thấy một cái gì đó cồn cào trong dạ dày của mình. Tôi nghĩ, "Nó đến rồi."
"Tôi thấy anh chơi khá lâu rồi đấy" hắn ta nói. "Anh thích màu hồng hay xanh lá?"
 Nếu đó là tôi, tôi sẽ tự hỏi, "Này là gì đây – màu mà tôi chọn sẽ là màu mà tôi sẽ trở thành sau khi bị đánh nhừ xương à?" Tôi nghĩ tôi có thể để lại tất cả tiền và cố gắng tháo chạy ra ngoài nhưng Mike đủ dày dạn để giữ bình tĩnh tại thời điểm này.
Người đàn ông nói, "Chúng tôi muốn biếu bạn một ly đựng cà phê."
Mike đã chọn màu xanh lá cây.
Marco cũng có lúc bị nguy hiểm. Anh đang chờ đến lượt thắng mà không để ý một ông chủ sòng bài bước đến ngay vai anh. "Anh đã tăng gấp đôi lên đến $5.000 – thật may mắn nhỉ," ông nói một cách ngạc nhiên. Một bà già ngồi ngay cái máy kế bên đâm thọt bằng giọng khàn khàn của một người hút thuốc "Nó... chả phải... may mắn." Ông chủ cứng người, nghi ngờ của
ông ta bị đánh thức. "Đó là do ăn ở!" bà ta cười thé như quạ. Ông chủ sòng bải mỉm cười và bước đi.
Trong khoảng thời gian ba năm, bọn họ xen kẽ giữa công việc hợp pháp là chuyên viên tư vấn để theo kịp các kỹ năng, các mối liên hệ, và cách khoảng thời gian của họ tại các máy đánh bạc. Họ cũng đã mua thêm hai máy khác, bao gồm cả kiểu máy chơi poker đang sử dụng rộng rãi nhất, và tiếp tục cập nhật phần mềm của họ.
Trong những chuyến đi của họ, ba thành viên mà đi ra ngoài sẽ đi các sòng bạc khác nhau, "cả ba không đi chung nhóm với nhau," Alex nói. "Chúng tôi có đi chung một lần hoặc hai lần, nhưng làm vậy là ngu." Mặc dù họ đã có một thỏa thuận là cho nhau biết những gì họ đã trãi qua, thỉnh thoảng cũng có một người sẽ tránh một trong những thành phố cờ bạc mà không nói cho những người khác biết. Nhưng họ chỉ giới hạn việc đánh bạc của họ tại các sòng bạc, không bao giờ chơi ở những nơi như 7-Eleven hay siêu thị vì "Những chỗ đó có xu hướng trả tiền thắng rất thấp."
7. Bị Bắt!
Related image
(Phòng theo dõi Aria's Eye của một sòng bài tại Vegas)

Alex và Mike luôn cố gắng giữ kỷ luật, tôn trọng những "quy tắc nhất định mà chúng tôi biết để làm giảm xác suất bị gây chú ý. Một trong số đó là không bao giờ lấy quá nhiều tiền tại một nơi, không bao giờ đánh thắng quá nhiều lần, không bao giờ trúng trong nhiều ngày liên tiếp”.
Nhưng Mike thậm chí ý thức kỷ luật còn nghiêm túc hơn và cảm thấy hai người kia đã không cẩn thận. Anh ta chấp nhận chiến thắng một chút ít mỗi giờ nhưng như vậy thì nhìn giống như một tay đánh bài điển hình. Nếu anh ta có hai con át và các máy tính bảo anh ta bỏ một hoặc cả hai con át để có một lượt khác tốt hơn, chẳng hạn như ba lá, anh ta sẽ không làm điều đó. Tất cả các sòng bạc quản lí bằng các máy quay "Mắt trên Trời” trong một khu bảo mật tầng trên của sòng bài, vận hành một loạt các camera an ninh có thể được mở lên, tập trung và phóng to, tìm kiếm người gian lận, nhân viên loanh quanh, và những người có khuynh hướng bị sự cám dỗ của đồng tiền. Nếu một trong những người quan sát bất chợt chọn nhìn trộm vào bài của anh ta với một số lý do, họ sẽ ngay lập tức biết có điều gì đó ám muội, vì
không có lí do gì một người chơi lại bỏ một cặp ách. Chỉ có kẻ gian lận mới biết được là có những lá bài tốt hơn đang đợi mình.
Alex thì hoàn toàn không khó tính. Marco thậm chí còn dễ hơn. Theo Alex thì "Marco có một chút tự mãn":
Anh ấy là một chàng trai rất thông minh, tự học, chưa bao giờ tốt nghiệp trung học, nhưng là một trong những gã Đông Âu thông minh, sáng dạ, và rất tỏa sáng. Anh ta biết tất cả mọi thứ về máy tính và nghĩ rằng tất cả sòng bạc đều ngu ngốc. Thật dễ dàng để nghĩ vậy bởi vì những người này đã để bọn tôi lấy đi rất nhiều tiền. Nhưng ngay cả như vậy, tôi nghĩ rằng anh ta tự tin thái quá.
Anh ta còn hơn cả một kẻ liều lĩnh, và nó cũng không phù hợp với anh ta bởi vì anh ta hỉ trông giống như một thanh niên nước ngoài. Vì vậy anh ta dễ khơi dậy sự nghi ngờ. Anh ta lại không đi với bạn gái hay vợ để sẽ giúp anh ta trông bình thường hơn.
Tôi nghĩ rằng mục đích anh ta làm điều này nhằm tập trung sự chú ý vào anh ta. Nhưng cũng vào thời điểm đó, khi thời gian dần trôi và tất cả chúng tôi đã mạnh bạo hơn, chúng tôi mở rộng ra và có xu hướng chơi những máy đắt tiền để được đền bù xứng đáng hơn và một lần nữa đặt nhiều rủi ro vào hoạt động của chúng tôi.
Mặc dù Mike không đồng ý, Alex dường như cho thấy rằng họ là bộ ba chấp nhận mạo hiểmsẽ tiếp tục đẩy mạnh các hoạt động để xem họ có thể đi xa như thế nào. Như anh ta nói, "Tôi nghĩ rằng về cơ bản bạn chỉ cần làm tăng tỉ số rủi ro. "
Image result for Plainridge Park Casino


Ngày đó đã đến khi Marco đang ngồi trong một sòng bài, thì một phút sau anh đã bị bao vây bởi một đám an ninh vạm vỡ kéo anh ta đứng dậy và đẩy anh ta vào phòng phỏng vấn ở phía sau.
Alex kể lại cảnh tượng lúc đó:
Nó thật đáng sợ vì bạn từng nghe những câu chuyện về những tên đó sẽ đánh bạn văng shit. Những kẻ nổi tiếng vì "F**k cảnh sát, tụi tao sẽ tự xử lí".
Marco rất căng thẳng nhưng anh cũng chẳng phải dạng vừa. Trong thực tế, tôi lại mừng người bị bắt là anh ta nếu một trong đám bọn tôi bị bắt, bởi vì với tôi anh ta là người đủ khả năng nhất để xử trí trong các tình huống đó. Đối với tất cả tôi những gì tôi biết thì anh ta đã xử lý những tình huống như thế ở Đông Âu.
Anh ta trung thành và không nhắc gì đến chúng tôi. Anh ta không nói chuyện về bất kỳ đồng bọn hoặc bất cứ điều gì như thế. Anh ta lo lắng và lo lắng nhưng anh ta rất khó khuất phục trong những tình huống nguy hiểm và về cơ bản nói rằng anh ta đã làm việc một mình.
Anh ta nói: "Nhìn xem, tao bị bắt à, tụi bây là cảnh sát à, thế vì tội gì?"
Đó là một kiểu thi hành theo pháp luật của sự tra hỏi ngoại trừ việc họ không phải là cảnh sát và cũng không có bất kỳ quyền gì nên nó trở thành kỳ lạ. Họ tiếp tục tra hỏi anh ta, nhưng họ đã không chính xác đánh đập anh ta..
Họ chụp hình thẻ căn cước anh ta, Alex kể, và họ tịch thu máy tính và tất cả số tiền trên người anh ta, khoảng $ 7,000 tiền mặt. Sau khoảng một giờ tra hỏi cuối cùng họ để anh ta đi.
Marco gọi cho đồng bọn của mình trên đường về nhà. Giọng anh ta có vẻ loạn cả lên. Anh ta nói, "Tao muốn kể cho bọn mày chuyện gì vừa xảy ra. Tao mém làm hư hết mọi chuyện. "
Mike hướng thẳng đến trụ sở chính của họ. "Alex và tôi vô cùng khoảng sợ khi nghe kể lại những gì đã xảy ra. Tôi bắt đầu tháo banh mấy cái máy ra và giục rải rác khắp thành phố ".
Alex và Mike đều không hài lòng với Marco vì dính rủi ro với lí do không đáng. Anh ta không chịu đặt cái nút trong chiếc giày của mình như hai người kia, mà bướng bỉnh khăng khăng đòi mang thiết bị trong túi áo khoác của mình và kích hoạt nó với bàn tay của mình. Alex mô tả Marco là một anh chàng " nghĩ rằng nhân viên an ninh là một đám ngu đến nỗi để anh ta
nhấn cái túi áo khoác của mình thoải mái ngay trước mắt họ".
Alex bị anh ta thuyết phục là anh ta biết những gì đã xảy ra, mặc dù thực tế anh ta chẳng biết gì. (Trong thực tế, cả ba người đã không biết rằng Marco còn đi đến một sòng bài khác mà không thèm dính đến ba người kia). Alex suy luận, "Họ chỉ thấy rằng anh ta thắng một lượng tiền quá lố và rằng có điều gì đó không đúng với bàn tay của anh ta". Marco chỉ đơn giản là không muốn nghĩ những điều này có thể gây thắc mắc cho những người trong sòng
bài.
Đó là sự kết thúc đối với Alex, mặc dù anh ta không hoàn toàn chắc chắn về những người kia. "Quyết định của chúng tôi ngay từ đầu là nếu bất kỳ người trong chúng tôi bị bắt, tất cả chúng tôi sẽ dừng lại." Ông nói," Như tôi biết thì cả bọn đều rất trung thành với nhau”." Và sau một lúc, ông nói thêm một câu ít chắc chắn hơn," Ít nhất là tôi có. " Mike đồng tình, nhưng không ai trong bọn họ hỏi câu này một cách trực tiếp.
Các sòng bạc thường không truy tố các cuộc tấn công giống như vụ mà bị mấy gã kia lôi kéo "Lý do là họ không muốn công bố rằng họ có những lỗ hổng, "Alex giải thích. Vì vậy, nó thường là, "Ra khỏi thị trấn trước khi mặt trời lặn. Và nếu bạn đồng ý không bao giờ đặt chân vào sòng bạc một lần nữa, sau đó chúng tôi sẽ cho bạn đi. "
8. Hậu Quả
Khoảng sáu tháng sau, Marco đã nhận được một lá thư nói rằng phí phạt ông ta đã không bị đưa lên tòa. Cả bốn người vẫn là bạn, mặc dù họ không thân nữa. Alex tính ra là ông ta kiếm được $ 300,000 từ cuộc phiêu lưu, một phần trong số đó đã chia cho Larry như thỏa thuận. Bộ ba thâm nhập sòng bài, những người lãnh nhiều rủi ro nhất, đồng ý là sẽ chia đều cho nhau, nhưng Alex nghĩ Mike và Marco có thể đã lấy $ 400.000 đến nửa triệu mỗi người. Mike sẽ không thừa nhận là đã lấy hơn $ 300,000 nhưng thừa nhận rằng Alex có lẽ lấy ít hơn anh ta.
Họ đã bỏ trốn trong khoảng ba năm. Mặc dù là vì tiền bạc, Alex vui vì nó đã qua: "Tôi thấy nhẹ nhõm. Những niềm vui đã dần hết đi. Nó trở thành một loại công việc. Một công việc đầy rủi ro. "Mike cũng vậy không cảm thấy tiếc nuối khi nó kết thúc, phàn nàn nhẹ rằng "cũng khá mệt mỏi."
Cả hai người họ ban đầu khá miễn cưỡng khi kể lại câu chuyện của minh, nhưng sau đó lại thích thú. Và tại sao không , nó đã xãy ra trong 10 năm hoặc lâu hơn, không ai trong số bốn người từng khi chia sẻ việc này thậm chí là thì thầm về nó với bất cứ ai, ngoại trừ những người vợ và người bạn gái là một phần của câu chuyện. Kể lại nó lần đầu tiên với thỏa thuận giấu tên tuyệt đối đối với họ như là một sự giải tỏa. Họ rõ ràng là rất tận hưởng khi hồi tưởng
các chi tiết, Mike thừa nhận rằng nó đã là "một trong những điều thú vị mà tôi từng thực hiện."
Alex thay họ bày tỏ quan điểm đối với cuộc phiêu lưu của họ:
Tôi không cảm thấy xấu về số tiền chúng tôi đã chiến thắng. Đó là một giọt nước trong xô của ngành công nghiệp đó. Nói một cách trung thực, chúng tôi không bao giờ cảm thấy tổn hại về mặt đạo đức, bởi vì đó là những sòng bạc.
Nó dễ dàng để hợp lý hóa. Chúng tôi đã ăn cắp từ các sòng bạc mà họ ăn cắp từ những bà già bằng cách cung cấp trò chơi mà họ không thể giành chiến thắng. Vegas như là nơi mà người cắm vào máy hút tiền,vắt kiệt cuộc sống của họ từ xu một. Vì vậy, chúng tôi cảm thấy như chúng tôi lấy lại tiền của một đại ca giang hồ, chứ không phải giựt tiền đánh bài của những bà già nghèo khó.
Họ đặt một trò chơi ngoài kia rằng, "Nếu bạn chọn thẻ phải, bạn giành chiến
thắng” Chúng tôi chọn các thẻ phải. Họ chỉ không mong đợi bất cứ ai để có thể làm điều đó.
Alex nói rằng ông ta sẽ không cố gắng làm một điều gì đó như thế một lần nữa. Nhưng lý do của anh ấy có thể không như những gì bạn mong đợi: "Tôi có những cách khác để kiếm tiền. Nếu tài chính tôi cũng giống như tại thời điểm đó, tôi có lẽ sẽ thử lại lần nữa." Ông nhìn thấy những gì họ đã làm khá hợp lý.
Trong trò chơi mèo đuổi chuột này, con mèo tiếp tục học các thù đoạn mới của con chuột và có biện pháp thích hợp. Máy đánh bài ngày nay sử dụng phần mềm thiết kế tốt hơn nhiều; bọn họ không chắc chắn họ sẽ thành công nếu họ cố gắng crack nó thêm một lần nữa. Tuy nhiên, sẽ không bao giờ có một giải pháp hoàn hảo nào cho bất kỳ vấn đề về kỹ thuật bảo mật. Alex đặt vấn đề rất tốt: "Mỗi lần một dev nói, 'Không ai muốn gặp rắc rối đề làm việc
đó," thì có một số đứa trẻ ở Phần Lan gặp rắc rối ". 
Và không chỉ ở Phần Lan nhưng ở Mỹ cũng có nhé.
9. Vấn Đề
Trong những năm 90, các sòng bạc và các nhà thiết kế máy đánh bạc chưa nhận thức một số vấn đề mà sau này nó trở thành rắc rối. Một máy tạo số ngẫu nhiên không thực sự tạo ra các số ngẫu nhiên. Thay vào đó, nó tạo một kho danh sách các số ngẫu nhiên nhưng theo thứ tự. Trong trường hợp này, một danh sách rất dài: 2 đến 32, hoặc hơn bốn tỉ các con số. Khởi đầu của một chu kỳ, phần mềm sẽ chọn ngẫu nhiên một vị trí trong danh sách. Sau đó, nó sử dụng các con số tiếp theo số này đến số khác trong danh sách cho đến khi nó bắt đầu một vòng chu kỳ mới của ván bài.
Bằng phần mềm reverse-engineering, bọn họ đã lấy được danh sách này. Từ bất kỳ điểm nào trong danh sách "ngẫu nhiên" được biết, họ có thể xác định tất cả số tiếp theo trong danh sách, và với việc bổ sung kiến thức về tỷ lệ lặp lại của một máy cụ thể, họ có thể xác định bao lâu trong vài phút và giây trước khi máy sẽ hiển thị một Thùng Phá Sảnh.
10. Biện Pháp Đối Phó
Các nhà sản xuất của các sản phẩm có sử dụng chip ROM và phần mềm nên dự đoán các vấn đề về bảo mật. Và đối với các công ty có sử dụng phần mềm và các sản phẩm dựa trên máy tính, mà hiện nay hầu hết tất cả công ty đến các cửa hàng nhỏ đều sử dụng, sẽ rất nguy hiểm nếu bạn đinh ninh rằng những người xây dựng hệ thống máy tính cho bạn đã bảo đảm cho tất cả các lỗ hổng. Các nhà lập trình cho máy đánh bài của Nhật Bản mắc một một sai lầm trong việc không suy nghĩ đủ cẩn thận những loại tấn công nào có thể thực hiện được vào máy. Họ đã không dùng bất kỳ biện pháp an ninh nào để bảo vệ firmware. Họ nên thấy trước được rằng một người nào đó sẽ đoạt được quyền truy cập vào một máy tính, tháo ROM chip, đọc firmware và cải tạo trình dẫn để điều khiển máy. Thậm chí nếu họ nghĩ khả năng đó có thể xãy ra, họ nên nghĩ ra việc biết một cái máy vận hành thôi thì vẫn chưa đủ mà họ cần tìm cách phức tạp hóa việc cracking bộ chia bài ngẫu nhiên sẽ đánh bại bất kỳ nỗ lực tấn công nào – điều rất đúng cho thời đại bây giờ nhưng không phải vào thời điểm đó.
Vì vậy, nếu công ty của bạn bán sản phẩm phần là cứng có chips; những gì bạn nên làm là cung cấp đầy đủ sự phòng vệ chống lại các đối thủ cạnh tranh, những người muốn phần mềm của bạn, công ty nước ngoài mà muốn làm hàng nhái giá rẻ, hoặc các hacker muốn lừa gạt bạn.
Bước đầu tiên: Làm cho nó khó để đạt được quyền truy cập vào firmware. Một số phương pháp bao gồm:
• Mua loại chip mà được thiết kế an toàn để chống lại các cuộc tấn công. Một số công ty chip trên thị trường thiết kế loại chip đặc biệt cho những nơi có khả năng bị tấn công cao.
• Sử dụng chip on-board - một thiết kế mà trong đó chip nhúng vào các bảng mạch và không thể tách riêng được
• Dán chip vào board bằng keo epoxy, để nếu có ai cố gỡ nó thì con chip cũng sẽ bị phá theo. Một cải tiến trong kỹ thuật này là yêu cầu đưa bột nhôm trong epoxy; nếu một kẻ tấn công cố gắng để loại bỏ các con chip bằng cách nung nóng epoxy, bột nhôm sẽ phá hủy các chip.
• Sử dụng Ball Grid Array - BGA. Trong sự sắp xếp này, connector không đi ra khỏi các cạnh của chip nhưng thay vào đó là bên dưới các con chip, làm việc nắm bắt luồng tín hiệu từ chip trở nên khó khăn khi nó còn được đặt ra trên bảng.
Một biện pháp đối phó có sẵn là cào tất cả các thông tin xác định ra khỏi chip, để một kẻ tấn công sẽ không có thông tin về nhà sản xuất và các loại chip.
Một cách khá phổ biến khác được sử dụng bởi nhà sản xuất máy đánh bài trong câu chuyện này là kêu gọi việc sử dụngchecksumming (hashing) - bao gồm checksum phần mềm. Nếu program bị thay đổi, checksum sẽ không chính xác và phần mềm sẽ không vận hành thiết bị. Tuy nhiên, một hacker có kiến thức, quen thuộc với phương pháp này đơn giản kiểm tra các phần mềm để xem liệu có đính kèm checksum hay không, và nếu họ tìm thấy họ sẽ vô hiệu hóa nó. Vì vậy, một hoặc nhiều các phương pháp bảo vệ chip một cách vật lý là một kế hoạch tốt hơn nhiều.
11. Lời Cuối
Nếu hệ điều hành của bạn là độc quyền và có giá trị, hãy tham khảo nguồn bảo mật tốt nhất để tìm ra những kỹ thuật tin tặc đang sử dụng hiện nay. Tạo cơ hội cho nhà thiết kế và lập trình của bạn cập nhật những thông tin mới nhất. Và phải chắc chắn họ thực hiện các bước thích hợp để đạt được cấp độ bảo mật cao nhất tương xứng với chi phí của nó.
(Dịch từ sách: The Art of Intrusion - Kevin Mitnick)