Làm thế nào khả năng một người có quyền truy cập vật lý vào máy tính của bạn có thể root [sử dụng Grub / Bash] theo cách nào an toàn?
Bởi vì nếu Linux quyết định bắt đầu làm điều đó, tin tặc sẽ chỉ khai thác các lỗ hổng bảo mật khác. Nguyên tắc bảo mật đầu tiên là nếu tôi có quyền truy cập vật lý vào hệ thống của bạn, trò chơi sẽ kết thúc. Tôi đã giành được.
Ngoài ra, hãy tưởng tượng máy chủ X của bạn bị hỏng và bạn không có GUI nữa. Bạn cần khởi động vào bảng điều khiển phục hồi để sửa chữa mọi thứ, nhưng bạn không thể, vì điều đó không an toàn. Trong trường hợp này, bạn bị bỏ lại với một hệ thống hoàn toàn bị hỏng, nhưng này, ít nhất thì nó "an toàn!"
Nhưng Kaz, làm sao điều này có thể? Tôi đặt mật khẩu trên Grub của mình để bạn không thể đổi tôi init
thành Bash!
Oh, bạn đã làm, phải không? Thú vị, bởi vì điều này trông giống như album ảnh của bạn. GRUB không có bất kỳ yếu tố bảo mật cố hữu nào cả. Nó chỉ là một bộ tải khởi động , không phải là một bước trong chuỗi xác thực và khởi động an toàn. Trên thực tế, "mật khẩu" bạn đã thiết lập là khá dễ bỏ qua.
Điều đó, và những gì sysadmin không mang ổ đĩa khởi động cho chúng trong trường hợp khẩn cấp?
Nhưng bằng cách nào?! Bạn không biết mật khẩu của tôi (hoàn toàn không phải P@ssw0rd
btw)
Vâng, nhưng điều đó không ngăn tôi mở máy tính của bạn và rút ổ cứng của bạn. Từ đó, chỉ cần một vài bước đơn giản để gắn ổ đĩa của bạn vào máy tính của tôi, cho phép tôi truy cập vào tất cả hệ thống của bạn. Điều này cũng có lợi ích tuyệt vời của việc bỏ qua mật khẩu BIOS của bạn. Điều đó, hoặc tôi có thể vừa thiết lập lại CMOS của bạn. Hoặc / hoặc.
Vậy ... làm thế nào để tôi không cho phép bạn truy cập vào dữ liệu của tôi?
Đơn giản. Giữ máy tính của bạn xa tôi. Nếu tôi có thể chạm vào nó, truy cập bàn phím, chèn ổ đĩa flash của riêng tôi hoặc tách nó ra, tôi có thể giành chiến thắng.
Vì vậy, tôi có thể thích đặt máy tính của mình vào trung tâm dữ liệu hay không? Đó là khá an toàn, phải không?
Vâng, họ là. Nhưng, bạn đang quên rằng con người cũng có thể hack được, và có đủ thời gian và sự chuẩn bị, tôi có thể vào trung tâm dữ liệu đó và rút tất cả dữ liệu ngọt ngào đó ra khỏi máy tính của bạn. Nhưng tôi lạc đề. Chúng tôi đang giải quyết các giải pháp thực sự ở đây.
Được rồi, vì vậy bạn gọi là vô tội vạ của tôi. Tôi không thể đặt nó trong một trung tâm dữ liệu. Tôi chỉ có thể mã hóa thư mục nhà của tôi hoặc một cái gì đó?
Chắc chắn, bạn có thể! Đó là máy tính của bạn! Nó sẽ giúp ngăn chặn tôi? Không một chút nào. Tôi chỉ có thể thay thế một cái gì đó quan trọng, như /usr/bin/firefox
với chương trình độc hại của riêng tôi. Lần tới khi bạn mở Firefox, tất cả dữ liệu bí mật của bạn sẽ được rút ra cho một số máy chủ bí mật ở đâu đó bí mật. Và bạn thậm chí sẽ không biết. Hoặc, nếu tôi có quyền truy cập thường xuyên vào máy của bạn, tôi chỉ có thể thiết lập thư mục nhà của bạn để được sao chép vào /usr/share/nonsecrets/home/
hoặc bất kỳ vị trí tương tự (không được mã hóa) nào.
Được rồi, những gì về mã hóa toàn bộ đĩa?
Điều đó ... thực sự khá tốt. Tuy nhiên, nó vẫn chưa hoàn hảo! Tôi luôn có thể thực hiện Cold Boot Attack bằng cách sử dụng bình khí nén đáng tin cậy của mình. Hoặc, tôi chỉ có thể cắm một keylogger phần cứng vào máy tính của bạn. Một cái rõ ràng dễ hơn cái kia, nhưng cách không thực sự quan trọng.
Trong mênh mông đa số trường hợp, đây là một nơi dừng tốt. Có thể ghép nối nó với TPM (thảo luận bên dưới) và bạn là vàng. Trừ khi bạn tức giận với một đại lý gồm ba chữ cái hoặc một hacker rất có động lực, không ai sẽ trải qua nỗ lực cần thiết trong giai đoạn này.
Tất nhiên, tôi vẫn có thể giúp bạn cài đặt một số phần mềm độc hại / backtime bằng cách cung cấp cho bạn một PPA hoặc tương tự, nhưng điều này sẽ đi vào khu vực rất âm u của niềm tin người dùng.
Vậy ... iPhone an toàn đến mức nào? Ngay cả với quyền truy cập vật lý, bạn cũng không thể làm được gì nhiều.
Vâng, có và không. Ý tôi là, nếu tôi có đủ động lực, tôi có thể đọc chip flash và lấy mọi thứ tôi cần. Tuy nhiên, iPhone về cơ bản là khác nhau vì chúng là một nền tảng bị khóa hoàn toàn. Nhưng, đồng thời, bạn thực sự hy sinh khả năng sử dụng và khả năng phục hồi sau những thất bại thảm hại. GRUB (trừ khi được thiết kế rất đặc biệt) không có nghĩa là một chuỗi trong hệ thống bảo mật. Trên thực tế, hầu hết các hệ thống Linux đều có chuỗi bảo mật của chúng bắt đầu hậu khởi động, vì vậy sau khi GRUB hoàn thành công việc của mình.
Thêm vào đó, iPhone có chức năng thực thi chữ ký mã hóa (cũng được thảo luận bên dưới), điều này khiến phần mềm độc hại rất khó có thể lẻn vào điện thoại của bạn thông qua các con đường hợp pháp.
Nhưng còn TPM / SmartCards / [chèn công nghệ tiền điện tử ở đây] thì sao?
Chà, bây giờ bạn đang ghép bảo mật vật lý vào phương trình, nó vẫn trở nên phức tạp hơn. Nhưng, đây không thực sự là một giải pháp vì TPM tương đối yếu và tất cả mã hóa không diễn ra trên chip. Nếu TPM của bạn (bằng cách nào đó) đủ mạnh để tự mã hóa trên chip (một số ổ cứng rất lạ mắt có thứ như thế này), khóa sẽ không bao giờ được tiết lộ và những thứ như tấn công khởi động lạnh là không thể. Tuy nhiên, các khóa (hoặc dữ liệu thô) vẫn có thể có trong bus hệ thống, nghĩa là chúng có thể bị chặn.
Mặc dù vậy, keylogger phần cứng của tôi vẫn có thể lấy được mật khẩu của bạn và tôi có thể dễ dàng tải một số phần mềm độc hại vào máy của bạn theo cách khai thác Firefox mà tôi đã đề cập trước đó. Tất cả tôi cần là bạn rời khỏi nhà / máy tính của bạn trong khoảng một giờ.
Bây giờ, nếu bạn mang theo TPM / thẻ thông minh / bất cứ thứ gì bên mình và tất cả mã hóa thực sự được thực hiện trên chip (có nghĩa là khóa của bạn hoàn toàn không được lưu trữ trong RAM), thì thực tế tôi không thể vào được tất cả, trừ khi bạn (người dùng) trượt lên và quên điều gì đó. Đó là, trừ khi tôi tìm cách nào đó để đọc khóa (không được mã hóa) từ bus hệ thống.
Nhưng điều gì sẽ xảy ra nếu tôi có một số hình thức thực thi chữ ký điện tử / kỹ thuật số trên tất cả các chương trình của mình để đảm bảo chúng hợp pháp?
Theo chứng minh của các công ty điện thoại thông minh khác nhau, đây là một cách rất tốt để đối phó với bảo mật. Bây giờ bạn đã vô hiệu hóa khả năng của tôi để tiêm một số mã vào máy của bạn để làm những việc bất chính, đó là một lợi thế. Thực tế, bạn đã vô hiệu hóa khả năng của tôi để duy trì quyền truy cập liên tục vào máy của bạn từ xa, đây là một điểm cộng rất lớn.
Tuy nhiên, đây vẫn không phải là một phương pháp hoàn hảo! Thực thi chữ ký số sẽ không dừng một keylogger phần cứng. Nó cũng cần phải hoàn toàn không có lỗi, nghĩa là không có cách nào tôi có thể tìm thấy một khai thác cho phép tôi tải chứng chỉ của riêng mình vào kho chứng chỉ của máy. Hơn nữa, điều này có nghĩa là mọi thực thi trên hệ thống của bạn cần phải được ký . Trừ khi bạn muốn tự mình thực hiện và thực hiện tất cả những điều đó, sẽ rất khó để tìm thấy các gói Apt và những thứ tương tự có chữ ký điện tử trên mọi thứ. Trong một tĩnh mạch tương tự, khối này sử dụng hợp pháp cho các tệp thực thi không dấu, cụ thể là recovery. Điều gì sẽ xảy ra nếu bạn phá vỡ thứ gì đó quan trọng và bạn không có (có thể thực thi) để sửa nó? Vâng, có hệ thống của bạn.
Dù bằng cách nào, một nỗ lực để làm điều này trên Linux về cơ bản đã bị bỏ rơi và không còn hoạt động cho các nhân mới, vì vậy bạn cần phải tạo riêng cho mình.
Vì vậy, không thể ngăn bạn ra khỏi máy tính của tôi?
Hiệu quả, vâng, xin lỗi. Nếu tôi có quyền truy cập vật lý và đủ động lực, luôn có thể vào hệ thống. Không có ngoại lệ.
Tuy nhiên, trên thực tế, hầu hết những người xấu xa sẽ không cố gắng đi xa như vậy chỉ vì một số hình ảnh con mèo. Thông thường, chỉ cần mã hóa toàn bộ đĩa (hoặc thậm chí chỉ chạy Linux!) Là đủ để ngăn chặn hầu hết các kiddies script có hai giây nổi tiếng.
TL; DR: Chỉ cần đừng để những người bạn không tin tưởng gần máy tính của bạn. Điều đó thường đủ tốt.