2009-09-06 68 views
10

ĐƯỢC CHIA SẺ! Việc tạo phần mềm gián điệp, vi-rút máy tính và các lỗi tương tự có thể là bất hợp pháp khi bạn sống và được hầu hết mọi người coi là vô đạo đức. Tuy nhiên, tôi cần phải yêu cầu điều này để nâng cao nhận thức về việc tạo ra một cách dễ dàng như thế nào. Tôi yêu cầu điều này sau khi W32/Induc-A đã được giới thiệu với thế giới này bởi một người đã đưa ra một cách khó chịu để lây lan một. Vì vậy, tôi muốn biết làm thế nào một vi rút có thể được tạo ra vì vậy tôi sẽ có thể nhận ra chúng trong tương lai!Cách nhận dạng mã nguồn độc hại?

Gần đây, new virus được phát hiện có thể tự lan truyền bằng cách thay thế các bản sao của thư viện của nhà phát triển. Trên thực tế, thông qua mã nguồn của Delphi 4 đến 7. Điều gì đã xảy ra là có một virus trong tự nhiên tìm kiếm trên máy tính cho một tệp có tên SYSCONST.PAS, mà nó sẽ tự thêm vào dưới dạng mã nguồn. Tệp này xảy ra là tệp nguồn cho các thư viện thời gian chạy của Delphi. (Mã nguồn thời gian chạy này có sẵn cho các nhà phát triển Delphi.) Kết quả là, sau khi bị nhiễm một lập trình viên sẽ tạo ra nhiều phiên bản mới của vi-rút này mà không hề biết. Vì máy quét vi-rút đôi khi tạo ra các kết quả sai, nhiều nhà phát triển có thể quyết định bỏ qua các cảnh báo của máy quét và thậm chí có thể họ sẽ vô hiệu hóa máy quét của họ trong khi xây dựng dự án của họ. Để làm cho nó tồi tệ hơn, dự án của họ thậm chí có thể kích hoạt các máy quét của khách hàng của họ vì vậy nó có khả năng rằng những người lập trình sẽ không kiểm tra mã nguồn của họ, nhưng sẽ chỉ cố gắng để đánh lừa các máy quét bằng cách nào đó. Đó là, nếu một máy quét virus thậm chí có thể nhận ra virus, mà không phải là rất có khả năng. Vì vậy, chúng tôi phát triển phần mềm có thể tạo vi-rút mà không nhận ra những gì chúng tôi đang làm!

Vậy, cách tạo vi rút? Đơn giản: lấy mã nguồn của bạn bị nhiễm vi-rút và bạn đã hoàn tất!

Được rồi, vì vậy mã nguồn của Delphi 4 đến 7 có thể bị nhiễm. Tất cả các nhà phát triển Delphi, hãy kiểm tra các tệp nguồn của bạn! Trường hợp này chỉ là một minh chứng-khái niệm và dường như nó có thể rất thành công. Bên cạnh đó, hầu hết các máy quét vi-rút sẽ không kiểm tra mã nguồn nhưng chỉ tập trung vào các tệp thi hành. Virus này có thể không bị phát hiện trong một thời gian dài.

Vi rút này cũng thành công vì vi phạm mã nguồn. Delphi là một dự án thương mại và mã nguồn có sẵn. Nhưng ai chắc chắn rằng những tin tặc này sẽ không tấn công các dự án nguồn mở theo những cách tương tự? Có rất nhiều dự án mã nguồn mở ngoài kia và ai sẽ kiểm tra tất cả chúng để đảm bảo rằng tất cả chúng đều hoạt động tốt? Và nếu ai đó đang kiểm tra mã, liệu anh ta có thể nhận ra nếu có mã độc hại không?

Vì vậy, để đảm bảo chúng tôi có thể nhận ra mã nguồn độc hại, tôi phải hỏi: Làm cách nào để tạo vi-rút? Làm thế nào để tôi nhận ra mã sẽ tạo ra vi-rút? Phần mềm độc hại nhất sẽ muốn làm gì?


Có một chút thảo luận về mã nguồn thời gian chạy Delphi, về mã này là mã nguồn mở hay không. Borland sử dụng giấy phép kép cho mã nguồn của họ từ lúc họ bắt đầu hỗ trợ Linux với Kylix. Kết quả là, mã nguồn có biểu tượng "GPL" được khai báo cho biết các thư viện có được biên dịch dưới dạng mã GPL hay không. Là GPL, mã nguồn sẽ là mã nguồn mở. Điều này cũng xảy ra là phiên bản nguồn đã bị tấn công bởi virus. Dù sao, để tránh các cuộc thảo luận ở đây, tôi đã yêu cầu this question here để chúng tôi có thể tập trung hơn vào vấn đề vi-rút và ít hơn trên Delphi. Về cơ bản, chúng ta đang nói về một loại virus tấn công mã nguồn. Về mặt kỹ thuật, tất cả các mã nguồn có thể có nguy cơ nhưng mã nguồn mở là một ứng cử viên có khả năng vì tin tặc biết cấu trúc của nó và có thể nhắm mục tiêu các tệp đó hiếm khi được sửa đổi, do đó hiếm khi được kiểm tra. (Và nếu họ có thể đột nhập vào hệ thống CVS, họ thậm chí có thể xóa dấu vết của các sửa đổi của họ, vì vậy không ai có thể nhận thấy sự sửa đổi!)

+0

Tiêu đề cần hoạt động. Mặc dù có thể là phi đạo đức để phổ biến vi-rút, việc đặt câu hỏi về quy trình không vượt qua ranh giới đạo đức mà tôi biết. Có lẽ bạn nên sửa đổi tiêu đề để phù hợp với câu hỏi ở cuối câu hỏi của bạn.Tất nhiên, đó cũng là vấn đề của MANY câu hỏi tương tự trên SO ... – Argalatyr

+0

Vâng, yêu cầu về cách tạo ra một virus là phi đạo đức. Tuy nhiên, đó là chính xác những gì tôi yêu cầu, để biết các kỹ thuật về cách thức tạo ra các vi-rút để tôi có thể nhận ra chúng khi chúng xuất hiện trong các dự án nguồn mở hơn. Bởi vì điều này sẽ xảy ra, sớm hay muộn. Hoặc, như Delphi đã cho thấy, nó đã xảy ra! Nhưng tôi sẽ thêm câu hỏi vào phía dưới. :-) –

+8

Tại sao lại hỏi về cách tạo vi rút phi đạo đức? –

Trả lời

8

Trong khi điều này không thực sự trả lời câu hỏi của bạn, tôi nghĩ rằng một bài báo thực sự thú vị để đọc là Reflections on Trusting Trust bởi Ken Thompson. Nó làm tăng điểm hấp dẫn rằng ngay cả khi mã nguồn của bạn không có lỗi (vi-rút, trojans, v.v.), bạn vẫn có thể tạo ra các tệp thi hành bị lỗi nếu trình biên dịch của bạn bị lỗi. Và ngay cả khi bạn xây dựng lại trình biên dịch từ mã nguồn sạch, bạn vẫn có thể có cùng một vấn đề. Trừ khi bạn đang xây dựng máy tính của bạn từ mặt đất với vi mạch của riêng bạn, tự lắp ráp BIOS của riêng bạn, viết hệ điều hành, trình biên dịch và phần mềm của riêng bạn, bạn phải vẽ đường dây ở đâu đó và tin tưởng phần cứng và phần mềm mà bạn đang xây dựng hệ thống của mình là chính xác.

+0

Vâng, tin tưởng là những gì được tính. Nhưng vì nó, một số hacker đã quyết định lây nhiễm một dự án nguồn mở tại nguồn! Điều này sẽ được sao chép bởi nhiều tin tặc khác, những người sẽ cố gắng lây nhiễm thêm mã nguồn mở, nếu có thể. Vì vậy, trước hết tôi muốn tạo ra nhận thức. Ngoài ra, tôi cũng muốn có các mẹo hữu ích về cách nhận ra những đoạn mã độc này. –

+0

Cảm ơn bạn đã liên kết đến bài viết của KT. Tôi không bao giờ biết anh ta đã đi vào những chủ đề đó. – lkessler

+0

Cuối cùng, một nguồn tài nguyên rất hữu ích để bắt đầu! :-) –

2

Nếu bạn thực sự muốn tìm hiểu, và sẵn sàng để đưa vào thời gian, thời gian của bạn có lẽ tốt hơn chi tiêu trên google để tìm sau đó tham gia vào một cộng đồng greyhat. chủ đề này rất phức tạp.

nếu câu hỏi của bạn đơn giản như "cách dễ dàng để nhận dạng vi-rút từ mã nguồn", tốt, có thể sẽ không dễ dàng, vì có nhiều cách để giải quyết vấn đề.

+0

Nhưng những gì về việc nhận ra hành vi của họ theo một cách chung chung nào đó? Ví dụ, các mẫu có thể nhận ra trong mã? Ít nhất, có thể nhận ra đối với chúng ta, con người. –

+0

Theo sau, thiết kế vi-rút sẽ thay đổi để tránh bị phát hiện. – Argalatyr

+0

Gần đây tôi đã đọc một cuốn sách về "Huyền thoại An ninh". Về cơ bản, nó nói rằng virus đang trở nên khó phát hiện không phải vì chúng mới, mà bởi vì chúng có thể tự sửa đổi bằng cách sử dụng kỹ thuật mã hóa và đóng gói. Một vi-rút lây nhiễm mã nguồn mở cũng sẽ khó phát hiện đơn giản vì nó trở thành một phần của nhiều ứng dụng khác. Tuy nhiên, vấn đề lớn nhất của nó là nó có một chữ ký có thể được nhận ra. –

4

Nếu bạn muốn nhận ra phần mềm độc hại, bạn phải biết làm thế nào nó hoạt động. Điều này có nghĩa là nghiên cứu phần mềm độc hại và thu hút kỹ năng sản xuất phần mềm độc hại.

  • tìm kiếm 29A - họ viết giấy tờ về vi rút
  • đọc về rootkit (thậm chí có những cuốn sách về nó)
  • đọc về kỹ thuật đảo ngược
  • mã nguồn đọc của phần mềm độc hại - có rất nhiều của nó trong Trang web.
  • học lắp ráp
  • tìm hiểu về hệ điều hành của bạn
  • đảo ngược os-kernel
  • được ngao-av, kiểm tra nguồn gốc

tôi sẽ không cung cấp liên kết ở đây. Họ dễ dàng tìm thấy mặc dù.

2

Bạn hỏi "Phần mềm độc hại nhất sẽ muốn làm gì?".

Nguồn tuyệt vời cho loại thông tin này là The Hacker Quarterly, rất phổ biến, bạn có thể tìm thấy nó tại hiệu sách địa phương của bạn hoặc you can subscribe online to get it mailed to you.

Nó đã được bắt đầu để giúp tin tặc và phreakers chia sẻ thông tin. Nó vẫn còn rất phổ biến với tin tặc ngày nay và được nhiều người coi là gây tranh cãi trong tự nhiên.

Cover of The Hacker Quarterly, Summer 2009 issue

Nội dung Vấn đề hiện tại bao gồm:

  • Not The Enemy
  • Giành lại mật trong một thế giới kỹ thuật số
  • An ninh-Conscious Bác
  • Tại sao "Không Danh sách Bay "là một Gian lận
  • VIỄN THÔNG VIỄN THÔNG
  • Tìm kiếm thông tin trong Thư viện Quốc hội
  • Hacking DI-524 Interface
  • đơn giản Làm thế nào để trên dây và Windows Cracking
  • Nếu bạn không thể chịu được nhiệt, Hack Vi tính!
  • An ninh: Truth Versus Fiction
  • Hacking Beamz
  • HACKER QUAN ĐIỂM: Jason Scott
  • iTunes lưu trữ thẻ tín dụng dễ bị tổn thương
  • Zipcar của Thông tin cơ sở hạ tầng
  • Các Làm thế nào và tại sao các Hacking LHQ
  • Nghe tin tặc vô tuyến!
  • CHỖ HACKER - CHÂU ÂU
  • Lợi dụng Metadata
  • Verizon FIOS Wireless bất an
  • TRUYỀN
  • Sử dụng Mạng Recon để giải quyết vấn đề
  • kiện telemarketers Vui và Lợi nhuận
  • HACKER diễn
  • Cộng với LETTERS và MARKETPLACE

Ngoài ra còn có an excellent series of articles on Hacking at Wikipediaon Computer Viruses.

... Và có, điều quan trọng đối với các lập trình viên là phải hiểu cách hack và phá mã hoạt động, để họ có thể làm tốt nhất để phá vỡ nó trong chương trình của họ.

+0

Chúng ta cũng cần phải hiểu nó để chúng ta có thể nhận ra nó trong công việc của người khác! Với nguồn đóng, có nguy cơ từ các đồng nghiệp bổ sung mã độc nhưng những rủi ro đó có giới hạn hợp lý và dễ theo dõi hơn so với các mã nguồn có sẵn cho nhiều người, như nguồn mở và nguồn thời gian chạy Delphi. (Và thành thật mà nói, Delphi thực sự phổ biến trong số các tin tặc.) –

2

Không có sự khác biệt giữa mã độc hại và lỗi bảo mật không chủ định.

Bạn cũng có thể hỏi "Làm thế nào tôi có thể viết một chương trình hữu ích không có lỗi và không thể khai thác".

Như tất cả chúng ta đều học được trong CS, thậm chí không thể viết các trình gỡ rối để bắt các vòng vô hạn cho phép sự độc ác thông minh.

Lời khuyên của tôi cho các ứng dụng có ý thức bảo mật là một đánh giá mã (p | t) ensive và sử dụng phần mềm phân tích tĩnh sẵn có trên thị trường.

+0

Vâng, đúng vậy! Lỗi bảo mật được ẩn cho mọi người. Mã độc hại được biết bởi leaso một người sau khi nó được thêm vào, do đó việc lạm dụng mã này sẽ sớm bắt đầu. Trong khi các lỗi bảo mật là xấu, mã độc hại tồi tệ hơn vì chúng sẽ bị lạm dụng từ thời điểm tạo ra. Bên cạnh đó, mã độc hại có thể xảy ra trong bất kỳ tệp nguồn nào. Do đó, chúng thậm chí có thể bị khai thác bởi các ứng dụng không liên quan gì tới bảo mật. –

+0

Nếu ý định của tôi không rõ ràng, tôi xin lỗi. Phản ứng của tôi đã được dự định để được đặt trong bối cảnh phát hiện ra mã độc và không có ý định giải quyết việc khai thác. – Einstein

Các vấn đề liên quan