SourceForge Tightens Security With Malware Scans Slashdotby whipslash on opensource at January 1, 1970, 1:00 am (cached at May 17, 2016, 11:35 pm)

Christine Hall at FOSS Force reports: It appears as if the new owners at SourceForge are serious about fixing the mistakes made by the sites previous owners. FOSS Force has just learned that as of today, the software repository used by many free and open source projects is scanning all hosted projects for malware. Projects that don't make the grade will be noticeably flagged with a red warning badge located beside the project's download button. According to a notice posted on the SourceForge website this afternoon, the scans look for "adware, viruses, and any unwanted applications that may be intentionally or inadvertently included in the software package." Account holders with projects flagged as containing malware will be notified by SourceForge. In today's announcement, SourceForge said that a thousand or so of the sites most popular projects [representing 84% of all SourceForge traffic] have so far been scanned, with scans continuing to eventually include "every last project, even dating back years." As the site hosts somewhere around 500,000 projects, this first scanning is expected to take several weeks. The company also says that beginning immediately, all new projects will be scanned during the uploading process. This latest move is in keeping with promises made to the community when the new owners, SourceForge Media, took control of SourceForge and Slashdot on January 28, 2016.

Read more of this story at Slashdot.

Are Afghanistan's Hazaras marginalised? AL JAZEERA ENGLISH (AJE)(cached at May 17, 2016, 11:30 pm)

Thousands from ethnic minority accuse Kabul government of cutting them out of a power-transmission-line project.
Should Trump worry about a third party candidate? AL JAZEERA ENGLISH (AJE)(cached at May 17, 2016, 11:30 pm)

Despite a lot of talk about a third party run against Donald Trump, it seems implausible a candidate will be ready.
U.S. banks push SWIFT to boost security after hacks: Bloomberg (Yahoo Security) SANS ISC SecNewsFeed(cached at May 17, 2016, 11:30 pm)

Brawl breaks out in South Africa parliament AL JAZEERA ENGLISH (AJE)(cached at May 17, 2016, 11:00 pm)

President Zuma calls for decorum in assembly after forcible removal of opposition MPs who tried to prevent his address.
Brawl breaks out in South Africa parliament AL JAZEERA ENGLISH (AJE)(cached at May 17, 2016, 11:00 pm)

President Zuma calls for decorum in assembly after forcible removal of opposition MPs who tried to prevent his address.
At the cost of security everywhere, Google dorking is still a thing (ArsTechnica) SANS ISC SecNewsFeed(cached at May 17, 2016, 11:00 pm)

Engineer Charged With Stealing Medical Device Trade Secrets (InfoRiskToday) SANS ISC SecNewsFeed(cached at May 17, 2016, 11:00 pm)

It's Trivially Easy To Identify You Based On Records of Your Calls and Texts Slashdotby manishs on privacy at January 1, 1970, 1:00 am (cached at May 17, 2016, 10:36 pm)

Reader erier2003 shares an article on Daily Dot: Contrary to the claims of America's top spies, the details of your phone calls and text messages -- including when they took place and whom they involved -- are no less revealing than the actual contents of those communications. In a study published online Monday in the journal Proceedings of the National Academy of Sciences, Stanford University researchers demonstrated how they used publicly available sources -- like Google searches and the paid background-check service Intelius -- to identify "the overwhelming majority" of their 823 volunteers based only on their anonymized call and SMS metadata. The results cast doubt on claims by senior intelligence officials that telephone and Internet "metadata" -- information about communications, but not the content of those communications -- should be subjected to a lower privacy threshold because it is less sensitive. Contrary to those claims, the researchers wrote, "telephone metadata is densely interconnected, susceptible to reidentification, and enables highly sensitive inferences."IEEE has more details.

Read more of this story at Slashdot.

Responder Chain Followup inessential.comat January 1, 1970, 8:00 am (cached at May 17, 2016, 10:32 pm)

Joe Groff reminded me that checking for protocol conformance is Swift’s respondsToSelector equivalent:

protocol RespondsToCopy { func copy() }
if let copier = responder as? RespondsToCopy {
  return copier.copy()
}

And, later, Ölbaum asked:

Wow, so all this fuss around lack of performSelector in Swift is just about laziness to use protocols?

My terse — and jerky, because it was the morning — answer was “No.” This post is the longer answer that the questioner deserves.

Let’s Do This Thing with This Thing

Take it from the top.

You’re in IB wiring up a menu item or button to First Responder. You set the selector as copy: — or, better yet, because I think people may get confused by using a common command, let’s say the selector is goFishing:.

To make this work with protocols instead of respondsToSelector, you then also type in a protocol name: RespondsToGoFishing. Or maybe the responder chain automatically generates that protocol name based on the selector. (Either way.)

In your code you define a RespondsToGoFishing protocol (as in the first line in Joe’s example above) and implement it in the various classes that can goFishing.

Then, after you’ve launched the app, you tap the button or choose the menu item. The responder chain walks its hierarchy, looking for the correct implementor.

What does the responder chain code have at this moment? Four things: a responder hierarchy, the sender (menu item, button, etc.), a reference to a protocol, and a selector.

(Let’s assume that some previous machinery turned the typed-in protocol name and selector from a string into more-usable types. Which assumes some kind of protocolFromString and selectorFromString methods, or some form of compilation.)

So the responder chain code looks something like this:

if let actionImplementor = responder as? protocolReference.Self {
  actionImplementor.​performSelector​(selector, withObject: sender)
}

(I’m never sure if it’s Self or what. The above may not be strictly correct. But you get the idea.)

Conceptually this is not much different from the Objective-C version — the main difference is that it adds an entity (a protocol) which wasn’t previously needed. But I’m cool with that. (Maybe. It means adding a whole bunch of protocols — possibly one for every action method.)

For reference, here’s the Objective-C version:

if ([responder respondsToSelector:selector]) {
  [responder performSelector:selector withObject:sender];
}

That’s fine, that totally works, but…

The point of my previous article was to imagine a responder chain written in Swift minus the Objective-C runtime.

So the above solution — with actionImplementor.​performSelector​(selector, withObject: sender) — won’t work in this hypothetical world, since performSelector is an Objective-C thing. And then there’s the need to convert from strings (protocol, selector) in IB to an actual protocol reference and a selector.

But — this is all just to say that perhaps it’s too early to be concerned with things like this, since we do have the Objective-C runtime (and AppKit and UIKit). At some point in the future, I imagine we’ll see Swift-minus-Objective-C-runtime app frameworks for Mac and iOS. And I will be very interested to see how these kinds of problems are solved.

I stand ready to be amazed, knowing it may be years from now.

In the meantime, though, it’s fun to write about.

Responder Chain Followup inessential.comat January 1, 1970, 8:00 am (cached at May 17, 2016, 10:32 pm)

Joe Groff reminded me that checking for protocol conformance is Swift’s respondsToSelector equivalent:

protocol RespondsToCopy { func copy() }
if let copier = responder as? RespondsToCopy {
  return copier.copy()
}

And, later, Ölbaum asked:

Wow, so all this fuss around lack of performSelector in Swift is just about laziness to use protocols?

My terse — and jerky, because it was the morning — answer was “No.” This post is the longer answer that the questioner deserves.

Let’s Do This Thing with This Thing

Take it from the top.

You’re in IB wiring up a menu item or button to First Responder. You set the selector as copy: — or, better yet, because I think people may get confused by using a common command, let’s say the selector is goFishing:.

To make this work with protocols instead of respondsToSelector, you then also type in a protocol name: RespondsToGoFishing. Or maybe the responder chain automatically generates that protocol name based on the selector. (Either way.)

In your code you define a RespondsToGoFishing protocol (as in the first line in Joe’s example above) and implement it in the various classes that can goFishing.

Then, after you’ve launched the app, you tap the button or choose the menu item. The responder chain walks its hierarchy, looking for the correct implementor.

What does the responder chain code have at this moment? Four things: a responder hierarchy, the sender (menu item, button, etc.), a reference to a protocol, and a selector.

(Let’s assume that some previous machinery turned the typed-in protocol name and selector from a string into more-usable types. Which assumes some kind of protocolFromString and selectorFromString methods, or some form of compilation.)

So the responder chain code looks something like this:

if let actionImplementor = responder as? protocolReference.Self {
  actionImplementor.​performSelector​(selector, withObject: sender)
}

(I’m never sure if it’s Self or what. The above may not be strictly correct. But you get the idea.)

Conceptually this is not much different from the Objective-C version — the main difference is that it adds an entity (a protocol) which wasn’t previously needed. But I’m cool with that. (Maybe. It means adding a whole bunch of protocols — possibly one for every action method.)

For reference, here’s the Objective-C version:

if ([responder respondsToSelector:selector]) {
  [responder performSelector:selector withObject:sender];
}

That’s fine, that totally works, but…

The point of my previous article was to imagine a responder chain written in Swift minus the Objective-C runtime.

So the above solution — with actionImplementor.​performSelector​(selector, withObject: sender) — won’t work in this hypothetical world, since performSelector is an Objective-C thing. And then there’s the need to convert from strings (protocol, selector) in IB to an actual protocol reference and a selector.

But — this is all just to say that perhaps it’s too early to be concerned with things like this, since we do have the Objective-C runtime (and AppKit and UIKit). At some point in the future, I imagine we’ll see Swift-minus-Objective-C-runtime app frameworks for Mac and iOS. And I will be very interested to see how these kinds of problems are solved.

I stand ready to be amazed, knowing it may be years from now.

In the meantime, though, it’s fun to write about.

Cybersecurity in 2020: The future looks bleak (TechRepublic) SANS ISC SecNewsFeed(cached at May 17, 2016, 10:30 pm)

VMWare Security Advisories VMSA-2016-0005, (Tue, May 17th) SANS Internet Storm Center, InfoCON: green(cached at May 17, 2016, 10:30 pm)

VMWare published today a security advisory about the following CVEs:

VMWare Security Advisories VMSA-2016-0005, (Tue, May 17th) SANS Internet Storm Center, InfoCON: green(cached at May 17, 2016, 10:30 pm)

VMWare published today a security advisory about the following CVEs:

Microsoft Releases Big 'Convenience Rollup' Update For Windows 7 Slashdotby manishs on windows at January 1, 1970, 1:00 am (cached at May 17, 2016, 10:06 pm)

Microsoft has released a "convenience rollup" update for Windows 7 computers. The update to the nearly seven-year-old operating system brings with it a number of security fixes and patches that Microsoft labels as "recommended." Mary Jo Foley, reporting for ZDNet: The convenience rollup -- officially known as Windows 7 SP1 convenience rollup -- isn't Service Pack 2 for Windows 7, but it's the next best thing. The new Windows 7 convenience rollup is cumulative back to Service Pack 1, which Microsoft released in 2011. (Editor's note, the convenience rollup consists of all security and non-security fixes all through April 2016.) It doesn't include updates to IE 11 (which are released separately) or updates to .NET releases. But it does include core Windows fixes, security fixes and hot fixes.Microsoft says that convenience rollup package is completely optional. "Install this one update, and then you only need new updates released after April 2016."

Read more of this story at Slashdot.