Как да проверите и забраните Java в OS X

Има известна загриженост относно използването на Java в OS X, след като наскоро установихме, че вариантите на Flashback за злонамерен софтуер сега се възползват от уязвимостите, които понастоящем не са изпълнени в Java runtime.

Въпреки че развитието на този злонамерен софтуер не трябва да засяга по-голямата част от потребителите на Mac OS X 10.7 или по-късно, тъй като Apple вече не включва Java с операционната система, някои хора все пак могат да се чудят каква е Java runtime и как могат да проверяват за и отстраняването му от техните системи, за да се гарантира, че са безопасни.

Какво е Java?

Същността на Java е нейното изпълнение, което е софтуерна среда, която действа като малка операционна система за изпълнение на компилирания код на конкретен език за програмиране и като такава понякога се нарича виртуална машина. Много езици за програмиране изискват използването на време за изпълнение, без което те няма да работят. Например времето за изпълнение на езика на JavaScript (който въпреки името му няма нищо общо с Java) е вградено в уеб браузъри, така че скриптовете, изтеглени от уеб сайтовете, да могат да се изпълняват правилно и ако деактивирате JavaScript в предпочитанията на браузъра си, можете да деактивирате времето за изпълнение и тези скриптове няма да се изпълняват.

Някои други езици за програмиране, които използват изпълнения са Unix shell скриптове, чието изпълнение е самата обвивка (bash, sh, csh и т.н.); Objective-C, който е основният език за програмиране на OS X и чието изпълнение е основна библиотека в OS X; и Java, чието изпълнение може да бъде инсталирано в операционна система и след това да се активира, когато Java кодът трябва да бъде изпълнен.

Времето за изпълнение на Java е популярна среда за програмиране, защото нейният програмен език е обектно-ориентиран, което означава, че е подходящ за създаване на приложения, които имат обективни компоненти, като бутони, ленти за превъртане и други функции на потребителския интерфейс. В допълнение, Java е изградена, за да бъде междуплатформена, така че програмистите трябва само да изградят една версия на своя Java код и след това да могат да го внедрят във всяка операционна система, в която е инсталирана Java runtime. В този смисъл усилието между платформите е изолирано от времето на изпълнение, вместо да бъде бреме за разработчика.

Тези функции видяха Java да се използва в многобройни програми, включително Creative Suite на Adobe и други професионални и научни приложения като Matlab. Дори ако Java не се използва в цялата програма, като я използва в общите компоненти, разработчикът може да направи по-лесно пренасянето на приложението на различни платформи.

Проблеми с времето на изпълнение

Докато времената за изпълнение като Java предлагат поддръжка на нови езици за програмиране и по този начин позволяват увеличена функционалност на вашата система, те отварят повече възможности за нарушения на сигурността. Кодът, който се изпълнява в тях, ще трябва да бъде изолиран с рутинни процедури за пясъчници и други мерки за сигурност, за да се предотврати неоторизиран достъп до частни или критични ресурси, но тези мерки трябва да бъдат изпълнени в рамките на всяко време на изпълнение и след това да бъдат тествани, за да се гарантира, че те не могат да бъдат нарушени. Ако се открие дупка в защитата, тогава времето за изпълнение трябва да се актуализира, за да се реши проблемът.

Що се отнася до Java, времето за изпълнение на Windows е отделено по-голямо внимание от това за OS X, така че когато бъдат открити дупки в сигурността, версията на OS X трябва да бъде поправена по-дълго и по този начин осигурява по-добър прозорец от възможности за разработчиците на зловреден софтуер да се справи с него. С последния си вариант, софтуерът Flashback се възползва от този прозорец и сега се насочва към неизпълнената Java runtime за Mac OS.

В този случай уязвимостта позволява на зловредния софтуер да прекъсне правилата на Java sandbox и да напише код на диска, последван от него.

Проверка за Java

За щастие, освен ако специфична програма не се нуждае от Java, тогава изпълнението на Java не се изисква за OS X. Никой от функциите на операционната система не се нуждае от Java за изпълнение, а компонентите му присъстват само в операционната система, за да поддържат средата за изпълнение, ако решите да я инсталирате за вашите нужди.

Започвайки с OS X 10.7 Apple спря включването на Java runtime в OS X, но все още осигурява бърза връзка за инсталиране, ако стартирате програма, която изисква Java. Когато се стартира такава програма, първо ще бъдете подканени да инсталирате Java runtime, но ако решите да не го направите, програмата ще излезе. В резултат на това, ако не сте предприели целенасочени стъпки за инсталиране на Java на нова система, тогава тя няма да има Java runtime и следователно няма да бъде уязвима за тези последни злонамерени атаки; ако обаче не сте сигурни дали сте инсталирали Java, има няколко начина за проверка.

  • Отворете приложение Java

    Един прост начин да видите дали имате инсталиран Java е да отворите приложение, което го изисква, и един от тях, включен в OS X, е помощната програма Java Preferences. Отидете в папката / Applications / Utilities / OS X и стартирайте програмата Java Preferences, и ако тя се отвори и покаже различни опции за конфигуриране, ще имате инсталиран Java; въпреки това, ако показва съобщение, че се нуждаете от Java и ви дава възможност да го инсталирате, тогава не сте инсталирали Java.

  • Използвайте терминала

    Терминалът OS X (в папката / Applications / Utilities / папка) предоставя достъп до редица команди, които могат да се използват за търсене на системна информация, и чрез стартиране на следния в терминала трябва да можете да виждате в изхода какво Времето за изпълнение на Java (ако има такива) са инсталирани на компютъра ви:

    sudo / usr / libexec / java_home

Деактивиране на Java

Ако имате инсталирана Java на вашата система и искате да я деактивирате, можете лесно да го направите в помощната програма Java Preferences. Когато отворите помощната програма, ще ви бъде представен списък с Java runtimes, инсталиран на вашата система, и квадратче за отметка до всеки. Като премахнете отметката от работните времена, ще предотвратите използването им, а премахването на всички ще деактивира напълно Java.

Веднъж деактивиран, ако имате програма на компютъра, която изисква Java, програмата просто няма да работи, докато не я активирате отново. Следователно, докато деактивирането на Java изисква допълнителна стъпка, когато искате да изпълнявате Java приложения, тя поставя контрола във вашите ръце върху това, което се разрешава на Java програмите.

Деинсталиране на Java

За съжаление няма директен или лесен начин за деинсталиране на Java, така че веднъж инсталиран единственият начин да го премахнете и всички негови компоненти напълно е да преинсталирате OS X; Въпреки това, можете да премахнете виртуалната машина на Java (по време на изпълнение) от вашата система и по този начин да извършите подобна процедура като деинсталиране. За да направите това, отидете в / System / Library / Frameworks / директория и премахнете файла "JavaVM.framework", който съдържа Java runtimes. Освен това изпразнете съдържанието на следните директории в системата, които се свързват с работните времена в рамката:

/ System / Library / Java / JavaVirtualMachines

/ Library / Java / JavaVirtualMachines


 

Оставете Коментар