Máy Mac có dễ bị lỗi shellshock Bash không?


58

Red Hat gần đây đã công bố một lỗi lớn liên quan đến bảo mật trong vỏ Bash. Một số người gọi nó là lỗi "shellshock". Vì OS X được xây dựng từ Unix, nên nó có dễ bị tấn công khai thác lỗi này không?

Là người dùng cuối, tôi có cần lo lắng về việc khắc phục ngay lập tức không? Hoặc là tốt hơn cho tôi để chờ đợi một bản cập nhật phần mềm chính thức từ Apple?



Để xem những hành động nào ảnh hưởng đến OSX, hãy xem security.stackexchange.com/questions/68123/ory
user151019

Đã cập nhật câu hỏi để nó bớt bị lừa và nhiều yêu cầu tư vấn cho giáo dân.
thuyền tóc

1
Apple đã phát hành bản sửa lỗi ngay bây giờ: support.apple.com/kb/DL1769
AT

Câu trả lời:


46

Có bạn dễ bị tổn thương về mặt kỹ thuật . Vì vậy, nếu bạn cảm thấy muốn hoảng loạn hoặc thanh toán cho một khách hàng hoảng loạn trong vài giờ làm việc hoảng loạn, hãy đi cho nó!

Nhưng thực tế là trừ khi bạn cho phép truy cập SSH từ các kết nối từ xa hoặc máy chủ web chạy kịch bản phía máy chủ, bạn sẽ không gặp rủi ro. Bạn chỉ thực sự dễ bị tổn thương nếu ai đó mà bạn không biết có thể truy cập từ xa vào máy của bạn và thực hiện theo cách mà lệnh Bash có thể được thực thi.

Có nghĩa là máy Mac để bàn của bạn mà thực sự không chạy các ứng dụng máy chủ thuộc bất kỳ loại nào thì không có rủi ro nghiêm trọng. Tôi sẵn sàng ăn một số câu tục ngữ khiêm tốn ở đây, nhưng tôi không nghĩ rằng phần lớn người dùng Mac sẽ gặp rủi ro vào cuối ngày.

Vì vậy, vấn đề này chủ yếu liên quan đến các quản trị viên hệ thống trên các máy chủ Mac OS X & Unix / Linux tiếp xúc với thế giới, không phải người dùng máy tính để bàn không kích hoạt chia sẻ SSH.

Có lẽ có nguy cơ cạnh tranh về phần mềm độc hại hoặc vi-rút Mac được tạo ra để khai thác rủi ro này, nhưng tôi nghi ngờ về điều đó.

EDIT: Và chỉ để giải thích vấn đề này như thế nào theo quan điểm khiêm tốn của tôi. Không thực sự là vấn đề đối với hầu hết người dùng trung bình, vâng tôi có thể chạy lệnh sau từ bashtrên Mac OS X 10.9.5:

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Và tôi thấy điều này:

vulnerable
hello

Đoán xem cái gì? Điều đó chỉ đáng sợ nếu bạn không nghĩ ra điều này một cách hợp lý. Tôi đã phải đăng nhập vào máy Mac của mình để mở Terminal. Và để phủ nhận những gì tôi đã nói về SSH ở trên, thậm chí đến mức tôi có thể chạy thử nghiệm này ngay cả khi SSH được bật, tôi vẫn sẽ phải đăng nhập để bắt đầu. Và sau đó, hãy để tôi nói rằng tôi có quyền truy cập thông qua SSH, lệnh không cho phép tôi thực hiện BẤT CỨ điều gì qua các quyền người dùng thông thường của mình như thế này:

env x='() { :;}; echo vulnerable' bash -c 'cat /etc/ssh_host_rsa_key'

Có nghĩa là nếu bạn thực sự dễ bị khai thác bởi vụ hack này, bảo mật cốt lõi của bạn trên hệ thống sẽ phải bị tổn hại đến mức thực tế bashcó một lỗ hổng thực sự là vấn đề tối thiểu của bạn.

Đây là một mối quan tâm từ một vấn đề kiểm soát và quyền tổng thể vì nó có khả năng cho phép truy cập ngoài ý muốn vì hành vi mở rộng ra ngoài các quy tắc dự kiến. Nhưng theo quan điểm khiêm tốn của tôi, đó không phải là rủi ro ngang với OpenSSL hay giống vườn khác, hãy để tôi để lại mật khẩu của mình trên một ghi chú được ghi vào rủi ro trên màn hình của tôi.

Cuối cùng, tôi vẫn đang vá tất cả các máy chủ Linux / Unix mà tôi chạy như một quy trình chuẩn. Và sẽ vui vẻ vá các máy Mac mà tôi quản lý sau khi đã khắc phục xong. Nhưng để sử dụng hàng ngày thực tế, tôi cảm thấy ổn khi không lo lắng về điều này vì tôi không hiểu làm thế nào một lỗ hổng không cho phép các đặc quyền người dùng nâng cao thêm vào bất cứ điều gì.

CẬP NHẬT: Từ chính thức từ Apple được đăng ở đây ; nhấn mạnh của tôi:

Một phần lớn người dùng OS X không gặp rủi ro với các lỗ hổng bash được báo cáo gần đây ", một phát ngôn viên của Apple nói với iMore. kiểm soát các hệ thống dễ bị tổn thương. Với OS X, các hệ thống được an toàn theo mặc định và không bị khai thác từ xa bash trừ khi người dùng định cấu hình các dịch vụ UNIX tiên tiến. Chúng tôi đang nỗ lực để nhanh chóng cung cấp bản cập nhật phần mềm cho người dùng UNIX tiên tiến của mình.

Dịch: Những gì tôi đã nói ở trên về việc đây là sự cố máy chủ & không phải là sự cố máy khách? Chính xác.

MỘT UDPATE CUỐI CÙNG: Đối với bất kỳ ai gặp khó khăn trong việc biên dịch từ nguồn, kể từ ngày 29 tháng 9, Apple đã chính thức phát hành bản vá cho Mac OS X 10.9.5, 10.8.5 cũng như 10.7.5:

CẬP NHẬT CUỐI CÙNG KHÁC: Và bây giờ, Apple vừa phát hành bản cập nhật bảo mật kết hợp hôm nay bao gồm cả bashbản cập nhật !

Lưu ý: Cập nhật bảo mật 2014-005 bao gồm nội dung bảo mật của OS X bash Update 1.0


7
"hoặc một máy chủ web chạy kịch bản phía máy chủ" - hoặc có một ứng dụng đang chạy, lắng nghe trên một cổng mở cho phép các cuộc gọi RPC được thực hiện để kết thúc việc chạy các lệnh shell. Đây có thể là bất kỳ số lượng nào vì có rất nhiều ứng dụng tiêu chuẩn thực hiện RPC của họ. Tôi nghĩ rằng câu trả lời này là rất ngây thơ. Rất dễ dàng để "chạy một máy chủ web" trong quá trình chạy một ứng dụng thực hiện một số loại máy khách-máy chủ.
Ian C.

3
@IanC. Bạn có thể cung cấp một ví dụ trong đó OS X sẽ thực sự dễ bị tổn thương không? Ví dụ, một cái gì đó như WebEx hoặc GotoMeeting thậm chí sẽ đến gần các khả năng của Bash? Vấn đề là tôi không thể nghĩ ra một kịch bản đơn giản về OS X sẽ thực sự phơi bày mọi thứ. Bạn có thể?
JakeGould

8
Tài khoản khách không có sẵn cho ssh. Trên thực tế, thậm chí không thể cung cấp nó cho ssh, IIRC. Thực tế là, đối với đại đa số người dùng OS X, lỗ hổng bash hoàn toàn không phải là vấn đề. Đối với những người trong chúng tôi là một vấn đề, chúng tôi cần biên dịch lại bash ngay khi có bản sửa lỗi được thử nghiệm, nhưng đó không phải là bây giờ.
lbutlr

3
@IanC. Được rồi, ví dụ công bằng. Nhưng bạn vẫn còn thiếu điểm: Làm thế nào người ta có thể khai thác lỗ hổng như vậy trong mọi ví dụ bạn đang cung cấp? Trong mỗi trường hợp, người dùng sẽ cần truy cập vào hệ thống để bắt đầu & sau đó là gì? Tôi không tỏ ra lúng túng về vấn đề này nhưng tôi vẫn không nắm bắt được rủi ro thực sự là gì? Ví dụ, một người nào đó có thể sử dụng API Plex để tìm ra cách thức chính xác trong bash để làm điều gì đó bên ngoài các quyền và quyền truy cập thông thường của người dùng?
JakeGould

6
@danielAzuelos, Mọi người đều dễ bị tổn thương miễn là tài khoản của khách được mở: [! Khăn Tài khoản của khách không liên quan gì bash. Vậy nỗi sợ dựa trên chính xác những gì? Ngoài ra, ngay cả khi tài khoản khách đang mở và bằng cách nào đó bashcó thể sử dụng được thì sao? Từ những gì tôi đang thấy một dự đoán sử dụng khai thác này sẽ không có đặc quyền nâng cao hoặc bất cứ điều gì thậm chí gần với điều đó. Nghiêm túc mà nói, tôi sẵn sàng rút lui khỏi lập trường của mình, nhưng điều này có vẻ giống như hoảng loạn dựa trên không nhiều trong khi OpenSSL là một vấn đề thực sự.
JakeGould

37

Đúng!

Nhập cái này vào vỏ của bạn

env x='() { :;}; echo vulnerable' bash -c 'echo hello'

Nếu nó nói vulnerablethì bạn dễ bị tổn thương.

Nếu nó nói

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello

sau đó bạn tốt

Chỉnh sửa: liên kết đến bản sửa lỗi


4
Cảm ơn. Tôi đã cập nhật câu hỏi - nếu chúng tôi thấy rằng chúng tôi dễ bị tổn thương, làm thế nào người dùng Mac có thể khắc phục nó?
thuyền tóc

3
@abbyhairboat Đăng câu trả lời của tôi. Trừ khi bạn đang chạy một máy chủ tiếp xúc với thế giới bên ngoài, không có rủi ro thực tế. Quản trị viên máy chủ là những người cần phải lo lắng về điều này.
JakeGould

1
→ abby: vui lòng xem câu trả lời liên quan này: apple.stackexchange.com/a/146851/22003 .
dan

2
Hãy thử điều này env X="() { :;} ; echo busted" /bin/sh -c "echo completed"- Ngay cả sau khi vá hệ thống của tôi, cái này sẽ ho 'bẻ khóa' trên dòng lệnh. Bah
Trane Francks

1
@Mark không, zsh là an toàn. bạn cần thay thế "bash -c" bằng "zsh -c" để kiểm tra nó.
ismail

3

người dùng cuối , hãy kiểm tra xem:

  • tài khoản khách của bạn bị tắt:

    Tùy chọn hệ thống> Người dùng & Nhóm> Người dùng khách
    
  • sshtruy cập của bạn bị tắt:

    Tùy chọn hệ thống> Chia sẻ> Đăng nhập từ xa
    

Theo mặc định, cả hai đều tắt trên Mavericks.

người dùng cuối , sẽ an toàn hơn khi chờ đợi bản cập nhật bảo mật chính thức của Apple khắc phục bashlỗ hổng này .


1
Những điều này không liên quan. Một trong hai trong số đó, về bản chất, cấp cho người dùng quyền truy cập để chạy các lệnh trên hệ thống, vì vậy nếu bạn đã bật chúng thì đó là ý định của bạn để cho phép người dùng chạy các lệnh. Lỗi Shellshock là một phương tiện cho những người dùng mà bạn không có ý định chạy các lệnh để có thể làm như vậy, đó là một người dùng máy chủ web bạn chạy. Vì vậy, câu trả lời của bạn nên nói "Vô hiệu hóa chia sẻ web" (nhưng đó chỉ là một điều cần kiểm tra)
Josh

Tôi bực mình vì Apple đã không khuyên tắt các cài đặt đó. Ai sẽ cho phép họ? Tôi sẽ. Tôi là người dùng Mac từ năm 1986, một nhà phát triển ứng dụng web toàn thời gian (vì vậy ssh là cuộc sống của tôi) và là một người cha (vì vậy tài khoản Guest cho trẻ em không phải là một ý tưởng tồi). Tôi biết nhiều người giống tôi theo những cách sử dụng máy tính xách tay Apple. Bạn muốn mất chúng tôi? Để lỗ hổng này mở là một cách tốt.
minopret

2

Tất cả các máy Mac OS X đều dễ bị tấn công về mặt kỹ thuật đối với, Shell Shell, cho đến khi Apple phát hành bản cập nhật bảo mật vá lỗi bash, nhưng ..

Câu hỏi của bạn nên là: Tôi có thể bị hack từ xa không?

Có quá nhiều phần mềm sử dụng bashđãng trí đến nỗi việc trả lời câu hỏi đó là vô cùng khó khăn. Nếu bạn lo lắng thì tôi sẽ đề xuất một số thay đổi System Preferencesđể ngăn chặn việc khai thác từ xa:

  • Vô hiệu hóa TẤT CẢ các dịch vụ chia sẻ trong Tùy chọn chia sẻ.
  • Kích hoạt Tường lửa trong Bảo mật và Quyền riêng tư.

Nếu bạn đặc biệt lo lắng thì nhấn Firewallnút tùy chọn để:

  • Bỏ chọn Automatically allow signed software to receive incoming connections.
  • Kiểm tra Block all incoming connections.

Vẫn có một cơ hội đáng nể là bạn dễ bị tấn công cấp độ bằng DHCP, Bonjour, v.v., nhưng nếu bạn cần một dịch vụ khác thì rõ ràng bạn có thể để nó chạy trong khi bạn hy vọng nó không bị khai thác. Và bạn sẽ cần phải để tường lửa mở hơn nữa. Sẽ có thể ổn nếu máy của bạn sống sau một tường lửa khác.

Ngoài ra, có các cuộc tấn công leo thang đặc quyền địa phương được kích hoạt bởi hay không? Shell Có, gần như chắc chắn. Mặc dù vậy, tôi sẽ không lo lắng vì Mac OS X có đủ các cuộc tấn công tương tự. Apple không vá các lỗi leo thang đặc quyền địa phương một cách nhanh chóng. Và Apple tạo ra chúng thường xuyên với các dịch vụ hỗ trợ Apple Script. Chỉ cần giả sử tất cả các máy Mac OS X luôn dễ bị tấn công cục bộ. Nếu bạn cần tham dự các hội nghị về hacker như DEFCON thì hãy mua cho mình một hộp Linux cho mục đích đó.

Cập nhật: Có các hướng dẫn để biên dịch lại bash cố định của riêng bạn và các câu hỏi khác cũng được đề cập . Tôi sẽ tự làm điều này, nhưng IMHO sẽ quá mức nếu bạn không chạy bất kỳ máy chủ nào và giữ cho tường lửa của Apple được bật.

Cập nhật: Nếu bạn cảm thấy thoải mái với việc sử dụng thiết bị đầu cuối, có một chương trình được execsnoopđề cập ở đây sẽ cho phép bạn kiểm tra xem bash thường được gọi bởi các quy trình máy chủ của bạn. Không phải là một viên đạn ma thuật vì quy trình máy chủ có thể chỉ gọi bash trong các tình huống bất thường, nhưng nó sẽ cho bạn một ý tưởng hay.

Cuối cùng, Apple không giỏi trong việc vá các lỗ hổng bảo mật, nhưng họ giỏi PR, vì vậy điều này sẽ được vá tương đối nhanh. Do đó, thật hợp lý khi nghĩ rằng "Tôi không cần phải chạy nhanh hơn con gấu, tôi chỉ cần chạy nhanh hơn số lượng lớn các máy chủ có thể khai thác dễ dàng trên internet". :)


2
Không có khả năng máy Mac dễ bị tấn công khi sử dụng DHCP, vì nó không sử dụng Bash.

1
Làm sao bạn biết điều đó? Tư vấn ban đầu là một khách hàng DHCP dễ bị tổn thương. Và nhiều bài viết suy đoán rằng máy khách DHCP của Mac OS X và / hoặc iOS có thể dễ bị tấn công. Tất cả các máy chủ nên được coi là dễ bị tổn thương trừ khi được chứng minh khác đi.
Jeff Burdges

1
Không, họ không nên như vậy; đó là FUD tuyệt đối. Bạn có thể kiểm tra cả mã nguồn mở để triển khai dhcp của OS X và tự gọi hệ thống để xác minh.

3
@JeffBurdges, OS X chưa sử dụng shell exec với DHCP kể từ 10.3 và trước đó bash không được cài đặt trên hệ thống. DHCP trên OS X không phải là vấn đề với Shellshock. (Một điều ít phải lo lắng hơn. :))
Trane Francks

1
→ Jeff: vui lòng xem xét: strings /usr/libexec/bootpd | egrep '/bin|bash'nm -a /usr/libexec/bootpd | egrep 'fork|exec'. Bằng cách đọc các lệnh đầu ra này trên các phiên bản khác nhau của MacOS X, bạn có thể xem xét lại phân tích rủi ro của mình do dhcpdtrên MacOS X dọa nhưng chỉ riêng điều này :(.
dan

2

Tôi đã tạo ra công cụ này ngay khi tôi nghe về lỗ hổng này. Nó sẽ cung cấp cho bạn một liên kết đến một bài viết để vá vỏ của bạn nếu công cụ xác định bạn dễ bị tấn công.

Yêu cầu Mac OS X 10.6 trở lên.


3
Có lẽ đó chỉ là tôi ... nhưng ý tưởng chạy mã của một số người ngẫu nhiên để kiểm tra khai thác có vẻ như là một ý tưởng thực sự tồi tệ khi bạn có thể dễ dàng dán một chuỗi (rõ ràng là chỉ chạy thử nghiệm & không có gì nữa) vào một cửa sổ đầu cuối.
Joe

Tôi đồng ý, đó là lý do tại sao nguồn nằm trên code.google.com/p/shellshock-check
Thomas Jones

Đôi khi, mặc dù, nó có thể cung cấp dễ sử dụng để thử nghiệm nhiều hệ thống.
Thomas Jones

Tôi không thấy lợi ích của việc này. Kiểm tra lỗ hổng dễ dàng hơn nhiều bằng cách dán một dòng lệnh đơn giản trong cửa sổ terminal.
Albert Godfrind

Tuy nhiên, khi kiểm tra nhiều máy, đặc biệt là trong trường hợp của tôi, đó là những gì tôi làm, đặt ổ flash vào và mở Shellshock Check.app dễ hơn nhiều so với mở Safari, tìm kiếm lệnh bash để kiểm tra, sau đó mở Terminal, dán lệnh và sau đó nhấn Enter. Nó nhanh hơn nhiều để cắm vào ổ đĩa flash và mở một ứng dụng.
Thomas Jones
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.