Java ਲਾਇਬ੍ਰੇਰੀ Log4j ਵਿੱਚ ਬਦਨਾਮ ਕਮਜ਼ੋਰੀ ਲਈ ਐਮਰਜੈਂਸੀ ਪੈਚ ਬੇਬੁਨਿਆਦ ਨਹੀਂ ਹੈ। ਅਪਾਚੇ ਸੌਫਟਵੇਅਰ ਫਾਊਂਡੇਸ਼ਨ ਕਮਜ਼ੋਰੀ ਨੂੰ ਇੱਕ ਵਾਰ ਅਤੇ ਹਮੇਸ਼ਾ ਲਈ ਠੀਕ ਕਰਨ ਲਈ ਇੱਕ ਨਵਾਂ ਸੰਸਕਰਣ ਜਾਰੀ ਕਰ ਰਿਹਾ ਹੈ।
ਜਾਵਾ ਲਈ ਇੱਕ ਜੰਗਲੀ ਪ੍ਰਸਿੱਧ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ ਇੱਕ ਕਮਜ਼ੋਰੀ ਗਲੋਬਲ ਆਈਟੀ ਲੈਂਡਸਕੇਪ ਨੂੰ ਹਿਲਾ ਰਹੀ ਹੈ। ਇਹ ਅੰਦਾਜ਼ਾ ਲਗਾਇਆ ਗਿਆ ਹੈ ਕਿ ਲਾਇਬ੍ਰੇਰੀ ਜ਼ਿਆਦਾਤਰ ਕਾਰਪੋਰੇਟ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਮੌਜੂਦ ਹੈ।
Log4j ਮੁੱਖ ਤੌਰ 'ਤੇ ਲੌਗਿੰਗ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਇਵੈਂਟਸ ਨੋਟਸ ਨਾਲ ਰਜਿਸਟਰ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ। ਲੌਗਇਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਤੋਂ ਬਾਅਦ ਲੌਗਇਨ ਵੇਰਵਿਆਂ ਦੇ ਪ੍ਰਿੰਟਆਊਟ ਬਾਰੇ ਸੋਚੋ। ਜਾਂ, Java ਵਿੱਚ ਇੱਕ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਮਾਮਲੇ ਵਿੱਚ, ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਨਾਮ ਜਿਸ ਨਾਲ ਉਪਭੋਗਤਾ ਜੁੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ।
ਬਾਅਦ ਦੀਆਂ ਉਦਾਹਰਣਾਂ ਆਮ ਹਨ। ਦੋਵਾਂ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਇੱਕ ਬਾਹਰੀ ਉਪਭੋਗਤਾ ਲੌਗ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ ਜੋ Log4j ਆਉਟਪੁੱਟ ਕਰਦਾ ਹੈ। ਉਸ ਪ੍ਰਭਾਵ ਦੀ ਦੁਰਵਰਤੋਂ ਕਰਨਾ ਸੰਭਵ ਹੈ. 4 ਸਤੰਬਰ, 13 ਅਤੇ ਦਸੰਬਰ 2013, 5 ਦੇ ਵਿਚਕਾਰ ਕਿਸੇ ਵੀ Log2021j ਸੰਸਕਰਣ ਦੇ ਲੌਗ Java ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਇੱਕ ਸਥਾਨਕ ਡਿਵਾਈਸ 'ਤੇ ਰਿਮੋਟ ਸਰਵਰ ਤੋਂ ਕੋਡ ਚਲਾਉਣ ਲਈ ਨਿਰਦੇਸ਼ ਦੇਣ ਦੇ ਯੋਗ ਹਨ।
2013 ਤੋਂ, Log4j ਇੱਕ API: JNDI, ਜਾਂ Java ਨਾਮਕਰਨ ਅਤੇ ਡਾਇਰੈਕਟਰੀ ਇੰਟਰਫੇਸ ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰ ਰਿਹਾ ਹੈ। JNDI ਦਾ ਜੋੜ ਇੱਕ Java ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਇੱਕ ਸਥਾਨਕ ਡਿਵਾਈਸ 'ਤੇ ਰਿਮੋਟ ਸਰਵਰ ਤੋਂ ਕੋਡ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਪ੍ਰੋਗਰਾਮਰ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਰਿਮੋਟ ਸਰਵਰ ਬਾਰੇ ਵੇਰਵਿਆਂ ਦੀ ਇੱਕ ਲਾਈਨ ਜੋੜ ਕੇ ਨਿਰਦੇਸ਼ ਦਿੰਦੇ ਹਨ।
ਸਮੱਸਿਆ ਇਹ ਹੈ ਕਿ ਸਿਰਫ ਪ੍ਰੋਗਰਾਮਰ ਹੀ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਨਿਯਮ ਜੋੜਨ ਦੇ ਯੋਗ ਨਹੀਂ ਹਨ। ਮੰਨ ਲਓ Log4j ਲੌਗਇਨ ਕੋਸ਼ਿਸ਼ਾਂ ਦੇ ਉਪਭੋਗਤਾ ਨਾਮਾਂ ਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਕੋਈ ਉਪਭੋਗਤਾ ਨਾਮ ਖੇਤਰ ਵਿੱਚ ਉਪਰੋਕਤ ਲਾਈਨ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ Log4j ਲਾਈਨ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ ਅਤੇ Java ਐਪਲੀਕੇਸ਼ਨ ਖਾਸ ਸਰਵਰ 'ਤੇ ਕੋਡ ਨੂੰ ਚਲਾਉਣ ਲਈ ਇੱਕ ਕਮਾਂਡ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਇਹੀ ਉਹਨਾਂ ਮਾਮਲਿਆਂ ਲਈ ਜਾਂਦਾ ਹੈ ਜਿੱਥੇ Log4j ਇੱਕ HTTPS ਬੇਨਤੀ ਨੂੰ ਲੌਗ ਕਰਦਾ ਹੈ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ ਨਾਮ ਨੂੰ ਲਾਈਨ ਵਿੱਚ ਬਦਲਦੇ ਹੋ, ਤਾਂ Log4j ਲਾਈਨ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ, ਅਸਿੱਧੇ ਤੌਰ 'ਤੇ ਇਸ ਨੂੰ ਲੋੜ ਅਨੁਸਾਰ ਕੋਡ ਚਲਾਉਣ ਲਈ ਨਿਰਦੇਸ਼ ਦਿੰਦਾ ਹੈ।
ਐਮਰਜੈਂਸੀ ਪੈਚ ਅਸੁਰੱਖਿਅਤ ਵੀ ਹੋ ਸਕਦਾ ਹੈ
9 ਦਸੰਬਰ ਨੂੰ ਇਹ ਖਲਾਅ ਵੱਡੇ ਪੱਧਰ 'ਤੇ ਸਾਹਮਣੇ ਆਇਆ। ਅਪਾਚੇ ਸੌਫਟਵੇਅਰ ਫਾਊਂਡੇਸ਼ਨ, Log4j ਦੇ ਡਿਵੈਲਪਰ, ਨੇ ਕਮਜ਼ੋਰੀ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਇੱਕ ਐਮਰਜੈਂਸੀ ਪੈਚ (2.15) ਜਾਰੀ ਕੀਤਾ। ਉਦੋਂ ਤੋਂ, ਸੌਫਟਵੇਅਰ ਵਿਕਰੇਤਾਵਾਂ ਲਈ ਸੰਸਕਰਣ 2.15 ਦੀ ਪ੍ਰਕਿਰਿਆ ਕਰਨਾ ਅਤੇ ਸੰਗਠਨਾਂ ਲਈ ਇੱਕ ਪੈਚ ਪ੍ਰਦਾਨ ਕਰਨਾ ਇੱਕ ਪ੍ਰਮੁੱਖ ਤਰਜੀਹ ਰਿਹਾ ਹੈ।
ਹਾਲਾਂਕਿ, ਸੁਰੱਖਿਆ ਸੰਗਠਨ ਲੂਨਾਸੇਕ ਕਹਿੰਦਾ ਹੈ ਕਿ ਪੈਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵਾਟਰਟਾਈਟ ਨਹੀਂ ਹੈ। ਇੱਕ ਸੈਟਿੰਗ ਨੂੰ ਐਡਜਸਟ ਕਰਨਾ ਅਤੇ JNDI ਕਮਾਂਡਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ ਸੰਭਵ ਰਹਿੰਦਾ ਹੈ।
ਕਿਰਪਾ ਕਰਕੇ ਨੋਟ ਕਰੋ: ਸੰਬੰਧਿਤ ਸੈਟਿੰਗ ਨੂੰ ਹੱਥੀਂ ਐਡਜਸਟ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਜੋ 2.15 ਦੇ ਅਣਸੋਧੇ ਰੂਪ ਅਸਲ ਵਿੱਚ ਸੁਰੱਖਿਅਤ ਹੋਣ। ਫਿਰ ਵੀ, ਲੂਨਾ ਸੇਕ ਸਿਫ਼ਾਰਿਸ਼ ਕਰਦਾ ਹੈ ਕਿ ਸਪਲਾਇਰ ਅਤੇ ਸੰਸਥਾਵਾਂ Log4j 2.16 ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ। 2.16 ਨੂੰ LunaSec ਦੇ ਜਵਾਬ ਵਿੱਚ ਅਪਾਚੇ ਸੌਫਟਵੇਅਰ ਫਾਊਂਡੇਸ਼ਨ ਦੁਆਰਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤਾ ਗਿਆ ਸੀ। ਨਵਾਂ ਸੰਸਕਰਣ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕਮਜ਼ੋਰ ਸੈਟਿੰਗ ਨੂੰ ਹਟਾਉਂਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਦੁਰਵਿਵਹਾਰ ਲਈ ਹਾਲਾਤ ਬਣਾਉਣਾ ਅਸੰਭਵ ਹੋ ਜਾਂਦਾ ਹੈ।